开发者

RuntimeError: Declare either attr_protected or attr_accessible for User, but not both

Since a short time my rails applications yields the following runtime error in the test suite:

RuntimeError: Declare either attr_protected or attr_accessible for User, but not both.

This was probably introduced by an update to restful_authentication. But scanning the code for "attr_protected" only shows me it is never called. So why this error message?

My user model only has the following code:

开发者_如何学运维
attr_accessible :login, :email, :name, :password, :password_confirmation, :identity_url

So it should be perfectly okay? Any clues where to look for the problem? Searching google shows a few clueless people who also see this problem only in test environment and sporadically in the development environment.


If you are using RestfulAuthentication with friendly_id, the latest version of friendly_id can bring this error as indicated on the github page:

Also, this feature uses attr_protected to protect the cached_slug column, unless you have already invoked attr_accessible. So if you wish to use attr_accessible, you must invoke it BEFORE you invoke has_friendly_id in your class. github page

Also, when using grep to find occurences of keywords, don't forget to grep also in gems as you may have installed some plugins as gem archive.


You might have included modules into the User class that declare attr_protected. Maybe some kind of testing functionality does that.


This could be due to a plugin adding attr_protected. This might be helpful.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜