Ruby on rails ActiveModel::禁止博客评论脚手架上的属性错误

Ruby on rails ActiveModel::禁止博客评论脚手架上的属性错误,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,Ruby On Rails 4,我正在使用评论脚手架创建博客,但我遇到了一个错误。该属性过去用于Rails3.2,但在4.0中停止工作。以下是提取的源代码: def create @post = Post.find(params[:post_id]) **@comment = @post.comments.build(params[:comment])** respond_to do |format| if @comment.save 标有星号的线是高亮显示的不工作线。有没有办法解决这个问题 引入了Rails 4。将属性

我正在使用评论脚手架创建博客,但我遇到了一个错误。该属性过去用于Rails3.2,但在4.0中停止工作。以下是提取的源代码:

 def create
@post = Post.find(params[:post_id])
**@comment = @post.comments.build(params[:comment])**
respond_to do |format|
if @comment.save 
标有星号的线是高亮显示的不工作线。有没有办法解决这个问题

引入了Rails 4。将属性传递给体量赋值函数(在本例中为build)时,需要显式将属性标记为安全属性

Rails 3使用了一种不同的方法,您可以在视图中定义
attr\u protected
attr\u accessible

对于强参数,在将动作控制器参数列入白名单之前,禁止在活动模型质量指定中使用这些参数。这意味着您必须有意识地选择允许批量更新的属性,从而防止意外暴露不应暴露的属性

@post.comments.build(comment_params)
其中,
注释参数
定义为

def person_params
  params.require(:comment).permit(...) # List here whitelisted params
end
请务必阅读以下参考资料


您可以向gem文件添加gem“受保护的\u属性”,运行bundle安装,它应该可以工作

#Gemfile

gem 'protected_attributes'
此处的文档:



但我认为你应该遵循西蒙妮·卡莱蒂的回答。

对不起,我对ruby on rails的技术不是很在行。我应该怎么做才能解决这个问题?是的,我读过这些文章,但我不理解它们。我真的需要一个快速解决方案。你能帮我吗?