尝试手动创建用户时出现“未定义的方法`generate_token'”错误

时间:2013-10-13 04:48:27

标签: ruby-on-rails devise ruby-on-rails-4

尝试手动创建新用户时,会抛出错误“未定义的方法`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

2 个答案:

答案 0 :(得分:1)

事实证明问题出在devise_uid gem上。我为它创建了一个pull请求(https://github.com/jingweno/devise_uid/pull/2)并且它已经被接受了,所以其他任何有此问题的人都应该升级到0.0.4。

答案 1 :(得分:0)

最近似乎修复了这个错误: See this github issue

如果仍然无效,请尝试删除:rememberable属性。