ruby-on-rails – 设计ensure_authentication_token报告未定义的方法

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 设计ensure_authentication_token报告未定义的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
用户模型看起来像这样:
before_save :ensure_authentication_token

devise :database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable
  :token_authenticatable

attr_accessible :email,:password,:password_confirmation,:remember_me,:first_name,:last_name,:cell_phone,:city,:state,:country,:user_type

在devise.rb文件中我没有注释:

config.token_authentication_key = :auth_token

我的用户迁移如下:

class DeviseCreateUsers < ActiveRecord::Migration
  def self.up
   create_table(:users) do |t|
    t.database_authenticatable :null => false
    t.recoverable
    t.rememberable
    t.trackable
    t.token_authenticatable
    t.timestamps
   end

   add_index :users,:email,:unique => true
   add_index :users,:reset_password_token,:authentication_token,:unique => true
  end

  def self.down
   drop_table :users
  end
end

在创建用户时,会出现以下参数

{"utf8"=>"✓","authenticity_token"=>"+F8cjCoauVKhZPSJLhW+AAhui1DygBcODsYn4Va/ktY=","user"=>{"first_name"=>"any_name","last_name"=>"any_name","email"=>"any_email@gmail.com","password"=>"[FILTERED]","password_confirmation"=>"[FILTERED]","cell_phone"=>"any_number","city"=>"some_city","state"=>"some_state","country"=>"U.S.A","user_type"=>"student"},"commit"=>"Sign up"}

但是在创建用户时仍然会出现以下错误

NameError in Devise::RegistrationsController#create

   undefined local variable or method `ensure_authentication_token' for #<User:0x007fd4448f7350>

我在这里做错了什么?

附:在我的Gemfile中,Devise gem的配置如下:

gem 'devise',:git => 'git://github.com/plataformatec/devise.git',:branch => 'master'

解决方法

对不起,这是我的坏,我错过了一个逗号:)
devise :database_authenticatable,:validatable,#here
  :token_authenticatable

它现在正在工作.

原文链接:https://www.f2er.com/ruby/270157.html

猜你在找的Ruby相关文章