Ruby on rails 如何避免Can';t大量分配控制器发出的受保护属性
比方说,我有两个应用程序使用相同的数据库(app),我有一个字段说:cool,所以我想在第一个应用程序中使用这个字段,但在第二个应用程序中不使用。因此,如何避免此错误如果不使用数据库(应用程序)中可访问的属性,则无法批量分配受保护的属性。我不确定是否理解,但我通常会这样做:Ruby on rails 如何避免Can';t大量分配控制器发出的受保护属性,ruby-on-rails,mass-assignment,Ruby On Rails,Mass Assignment,比方说,我有两个应用程序使用相同的数据库(app),我有一个字段说:cool,所以我想在第一个应用程序中使用这个字段,但在第二个应用程序中不使用。因此,如何避免此错误如果不使用数据库(应用程序)中可访问的属性,则无法批量分配受保护的属性。我不确定是否理解,但我通常会这样做: protected_attribute = params[:blog_post].delete(:protected_attribute) @blog_post = BlogPost.new(params[:blog_po
protected_attribute = params[:blog_post].delete(:protected_attribute)
@blog_post = BlogPost.new(params[:blog_post])
@blog_post.protected_attribute = protected_attribute
if @blog_post.save
# ...
else
# ...
end
这很难看,但是避开了大众的保护
更新:您还必须从参数中删除受保护的属性。对,您还必须从参数中删除该属性。我已经更新了我的答案以反映这些变化。