2012-08-29 59 views
0
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
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」字段添加到用戶表。這將解決你的錯誤。

希望它有助於:)