我几乎完成了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/