NoMethodError(未定义的方法'活动?'代表<user:...>)</user:...>

时间:2011-08-12 08:42:19

标签: ruby-on-rails devise nomethoderror

我使用Ruby on Rails 3.0.4 / Devise 1.4.2 / MySQL / Apache / Passenger / FreeBSD

用户在电子邮件确认页面注册时会出现问题。同时,确认电子邮件将发送给新用户,如果您单击确认链接,确认和用户登录工作正常。

模型/ user.rb:

devise :database_authenticatable, :registerable, :trackable, :recoverable, :confirmable, :validatable, :lockable, :timeoutable

它可能是什么?欢迎任何想法。

3 个答案:

答案 0 :(得分:1)

据我所知,设计不附带active?方法。只要您包含confirmed?模块,请尝试使用Confirmable

答案 1 :(得分:0)

我从未使用过Devise,但听起来Devise希望users表具有布尔“活动”属性。如果有,Rails将生成active?方法。

答案 2 :(得分:0)

答案是:active?方法仅适用于小于1.4的Devise版本,对于版本低于1.3 confirmed?的版本应该使用。

我使用Devise 1.1.7生成Devise脚本,然后升级到1.4.2 - 问题就出现了。我降级到1.3.0,这就是治愈方法。