2

尝试手动创建新用户时,会抛出错误“未定义的方法 `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 :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable, :timeoutable, :uid
4

2 回答 2

2

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

于 2013-10-13T20:40:11.560 回答
0

似乎这个错误最近已修复: 请参阅此 github 问题

如果它仍然不起作用,请尝试删除该:rememberable属性。

于 2013-10-13T05:48:32.183 回答