4

我非常仔细地遵循 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 的教程。谢谢你。

4

1 回答 1

2

这不是你的错!

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找到它。

于 2012-05-16T01:04:11.057 回答