设计安全扩展未定义方法

时间:2012-08-29 20:20:30

标签: ruby-on-rails-3 devise

NoMethodError in Devise::SessionsController#create

undefined method `unique_session_id=' for #User:0x007f82b86fa4b8

安装Devise_Security_Extension,在用户模型中设置session_limitable,并为the_resources表创建迁移后,我得到了上述错误。

最初我的应用程序加载正常,但是只要输入凭据并创建新会话,就会出现错误。

我不确定如何排除故障,这有点超出了我的范围。

我正在运行Rails 3.2.6,Devise 2.1.2和Devise Security Extension 0.6.2。

任何人遇到类似问题或有建议吗?

1 个答案:

答案 0 :(得分:1)

Undefined method `unique_session_id=' for #User:0x007f82b86fa4b8

1) It means, it is looking for unique_session_id field in users table, which is missing
2) In docuementation, they meant "the resources table" means, model / table which we are using for authentication, which is "users table" in your case. 

因此,您需要删除“the_resources表”的迁移,并将“unique_session_id”字段添加到users表。这将解决你的错误。

希望它有助于:)