我差不多在http://guides.rubyonrails.org/getting_started.html完成了第11步。 虽然我的标签有问题,但在尝试创建新帖子时我会继续这样做。
ActiveModel :: MassAssignmentSecurity :: PostsController中的错误#create
无法批量分配受保护的属性:tags_attributes Rails.root:/ Users / david / blog
应用程序跟踪|框架跟踪|完整追踪
app / controllers / posts_controller.rb:46:在new'
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="}
我已经遍历了包含标签实现的每一行代码,我无法弄明白。对我应该寻找的一些指导?
谢谢。
答案 0 :(得分:3)
在您的模型中,您需要将tag_attributes
添加到attr_accessible
来电。
例如:
class User < ActiveRecord::Base
attr_accessible :tags_attributes
end
如果您已经调用过一次,则可以将此字段添加为方法的参数,或者再次调用。两种选择都是等价的。
必须指定所有可访问的参数在几个月之前才是默认值 本指南已更新,以反映默认更改。但是尚未部署新版本,这就是未指定的原因。
答案 1 :(得分:0)
你可以试试这个,
在PostsController模型中,添加表单中使用的所有属性,例如
class PostsController < ActiveRecord::Base
attr_accessible :name, :content, :title
...
...
end
它对我有用。