我几乎完成了http://guides.rubyonrails.org/getting_started.html的第11步。
不过,我的标签有问题,我一直在尝试创建一个新的帖子。
activemodel::massassignmentsecurity::postscontroller中的错误create
无法批量分配受保护的属性:标记属性
rails.root:/users/david/blog
应用程序跟踪框架跟踪完整跟踪
app/controllers/posts_controller.rb:46:innew'app/controllers/posts_controller.rb:46:in创建'
请求
参数:

    {"post"=>{"name"=>"David",
    "content"=>"Foobar",
    "title"=>"Programmer",
    "tags_attributes"=>{"0"=>{"name"=>"Tea,
    Cake"}}},
    "utf8"=>"✓",
    "commit"=>"Create Post",
    "authenticity_token"=>"MhvAkAPcAey1Z4YXy7nKFmW/wETlu+USSvWOEBBN4po="}

我已经一遍又一遍地编写了包含标记实现的每一行代码,但我还是搞不懂。我应该找些什么指导?
谢谢您。

最佳答案

在您的模型中,需要将tag_attributes添加到attr_accessible调用中。
例如:

class User < ActiveRecord::Base
  attr_accessible :tags_attributes
end

如果已经调用了一次,可以将此字段添加为方法的参数,也可以进行第二次调用。两种选择都是等价的。
几个月前,指定所有可访问的参数都不是默认值。
此指南已更新以反映默认值的更改。但是新版本还没有部署,这就是为什么没有指定它。
参阅Security: Mass Assignment

关于ruby-on-rails - PostsController#create中的ActiveModel::MassAssignmentSecurity::Error,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10623233/

10-13 05:29