# - PullRequest
       20

#

0 голосов
/ 23 декабря 2018

Когда я пытаюсь создать пользователя, я сталкиваюсь с этой ошибкой

"exception": "#<NoMethodError: undefined method `token?' for #<User:0x000056037eec27a0>>",

ДБ пользователя:

 class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :name
      t.string :email
      t.string :phone
      t.string :token
      t.string :password_digest
      t.timestamps
    end
    add_index :users, unique: true
  end
end

Мой код для модели пользователя:

class User < ApplicationRecord
has_secure_token
has_secure_password
has_many :projects , dependent: :destroy
end

Код моего контроллера

class UsersController < ApplicationController
  def new
    @user = User.new
  end

  # POST /users
  def create
    @user = User.new(user_params)

    if @user.save
      render json: @user, status: :created, location: @user
    else
      render json: @user.errors, status: :unprocessable_entity
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_user
      @user = User.find(params[:id])
    end

    # Only allow a trusted parameter "white list" through.
    def user_params
      Rails.logger.info "#{params.inspect}"
      params.require(:user).permit(:name, :email, :phone, :password)
    end
end

Данные, которые я отправляю через запрос POST,

{  
"user":{
      "name":"pranesh",
      "email":"pranesh@gmail.com",
      "phone":"987654321",
      "password":"helloworld"
      }
}

Когда я отправляю запрос, я сталкиваюсь с этой ошибкой

 "status": 500,
    "error": "Internal Server Error",
    "exception": "#<NoMethodError: undefined method `token?' for #<User:0x000056037eec27a0>>",

Я использую рельсы 5.2.1

1 Ответ

0 голосов
/ 23 декабря 2018

has_secure_token :token

Попробуйте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...