当前位置:  开发笔记 > 开发工具 > 正文

RuntimeError:为User声明attr_protected或attr_accessible,但不是两者都声明

如何解决《RuntimeError:为User声明attr_protected或attr_accessible,但不是两者都声明》经验,为你挑选了1个好方法。

由于我的rails应用程序在短时间内在测试套件中产生以下运行时错误:

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

这可能是由restful_authentication的更新引入的.但是扫描代码"attr_protected"只会告诉我它永远不会被调用.那么为什么会出现这个错

我的用户模型只有以下代码:

attr_accessible :login, :email, :name, :password, :password_confirmation, :identity_url

那应该是完全可以的吗?有什么线索在哪里寻找问题?搜索谷歌显示了一些无知的人,他们也只在测试环境中看到这个问题,偶尔也会在开发环境中看到这个问题.



1> 小智..:

如果您对friendly_id使用RestfulAuthentication,则最新版本的friendly_id可能会在github页面上显示此错误:

此外,此功能使用attr_protected来保护cached_slug列,除非您已经调用了attr_accessible.因此,如果您希望使用attr_accessible,则必须在调用类中的has_friendly_id之前调用它. github页面

此外,当使用grep查找关键字的出现时,不要忘记在gems中使用grep,因为您可能已经安装了一些插件作为gem archive.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有