【问题标题】:Getting mass-assignment warning in rails 3.1.8, but no attr_accessible called在 rails 3.1.8 中获得质量分配警告,但没有调用 attr_accessible
【发布时间】:2012-09-05 12:55:49
【问题描述】:

我有一个在 Rails 3.0.7 上运行的独立应用程序,它也用作 rails 引擎,它在父应用程序的 rails 3.1.8 下运行。现在,我有一个连接到用户模型的注册表单,具有验证等功能。当我将应用程序作为引擎运行并尝试注册时,我可以在日志中看到“无法批量分配属性”警告。

我的 user.rb 模型文件没有调用 attr_accessibleattr_protected。为该模型上的给定字段添加对 attr_accessible 的调用解决了该问题。但是,我想知道可能是什么原因造成的。当我以独立方式运行该应用程序时,它运行良好。我不确定 Rails 版本是否与它有关,但这是一个重要的区别。

【问题讨论】:

    标签: ruby-on-rails mass-assignment


    【解决方案1】:

    检查父项目的 config/environments/x.rb 文件是否有 config.active_record.mass_assignment_sanitizer = :strict,如果有,评论它可能有效但不建议

    【讨论】:

    • 看起来它在环境/test.rb 文件中,但不是开发。我仔细检查了我的虚拟主机文件,环境设置为在开发中运行。
    • 哦,你好,application.rb 文件有:config.active_record.whitelist_attributes = true,就可以了。我会接受你的回答,因为你把我带到了它:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    相关资源
    最近更新 更多