尝试手动创建新用户时,会抛出错误“未定义的方法`generate_token'”。
执行此操作的代码在以前的版本中有效:
user = User.new(email: email, password: Devise.friendly_token[0,20])
user.skip_confirmation!
valid_user = user.save #<--- error occurs here during .save
我在Gemfile中使用这些版本:
ruby '2.0.0'
gem 'rails', '4.0.0'
gem 'devise', '~> 3.1.1'
gem 'devise_uid', '~> 0.0.3'
user.rb Devise模型包含以下模块:
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable, :timeoutable, :uid
答案 0 :(得分:1)
事实证明问题出在devise_uid gem上。我为它创建了一个pull请求(https://github.com/jingweno/devise_uid/pull/2)并且它已经被接受了,所以其他任何有此问题的人都应该升级到0.0.4。
答案 1 :(得分:0)
最近似乎修复了这个错误: See this github issue
如果仍然无效,请尝试删除:rememberable
属性。