【问题标题】:Rails Guides - Step 11 - Multi Model Form - MassAssignmentSecurity errorRails 指南 - 第 11 步 - 多模型表单 - MassAssignmentSecurity 错误
【发布时间】:2012-05-15 23:45:10
【问题描述】:

我非常仔细地遵循 RailsGuide,它运行良好,直到第 11 步。 通过 MultiModel 表单添加标签。 添加代码后,我收到此错误:

ActiveModel::MassAssignmentSecurity::PostsController#update 中的错误 无法批量分配受保护的属性:tags_attributes

应用程序跟踪: app/controllers/posts_controller.rb:65:in block in update' app/controllers/posts_controller.rb:64:inupdate'

我已经备份并重新开始了几次,以确保这不是用户错误。 有人可以帮我完成这一步。我快完成了!然后我可以继续阅读 Hartl 的教程。 谢谢。

【问题讨论】:

    标签: ruby-on-rails multi-model-forms


    【解决方案1】:

    这不是你的错!

    已部署的入门指南尚未针对 Rails 3.2.3 默认更新

    # in config/application.rb:
    
    config.active_record.whitelist_attributes = true
    

    解决方法是将其添加到您的 Post 模型中:

    # in app/models/post.rb
    
    class Post < ActiveRecord::Base
      attr_accessible :tags_attributes
      ...
    

    顺便说一句,这整个部分已从指南的源代码中删除,您可以在 https://github.com/rails/rails/blob/master/guides/source/getting_started.textile 找到。

    【讨论】:

    • guides.rubyonrails.org/getting_started.html 中可用的稳定版指南是 rails repo 中 3-2-stable 分支中可用的版本。 master 分支中的指南目前正在重写,以便对初学者更加友好,可在edgeguides.rubyonrails.org/getting_started.html 中找到。这是一项正在进行的工作,目前初学者还不能 100% 使用。
    • 啊啊啊……我也这么怀疑。此外,这解释了我的 post.rb 文件中神秘的额外行,该行具有 attr_accessible for :content, :name, :title 我没有输入。也许指南中的生成或迁移步骤之一添加了它?非常感谢。我希望这对其他指南用户有所帮助。
    • 我的 application.rb 中有“config.active_record.whitelist_attributes = true”,attr_accessible 中有我的复数模态名称属性。但是我仍然有这个问题:/?
    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2013-04-28
    相关资源
    最近更新 更多