ActiveModel :: ForbiddenAttributesError使用旧版本的Ruby? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActiveModel :: ForbiddenAttributesError使用旧版本的Ruby? [重复]相关的知识,希望对你有一定的参考价值。
这个问题已经在这里有了答案:
我正在使用Rails创建一个博客。 我正在遵循在Rails上使用旧版本的教程。 我试图在同一页面上发布有关博客文章的评论。 每当我点击提交按钮时,我都会收到此错误消息。 ::加载ActiveModel ForbiddenAttributesError
提取的来源(第44行附近):
def create
@post = Post.find(params[:post_id])
@comment= @post.comments.new(params[:comment])
respond_to do |format|
if @comment.save
这是我控制器内的代码
def create
@post = Post.find(params[:post_id])
@comment= @post.comments.build(params[:comment])
respond_to do |format|
if @comment.save
format.html { redirect_to @post, notice: 'Comment was successfully created.' }
format.json { render json: @post, status: :created, location: @comment }
else
format.html { render action: "new" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
谢谢您的帮助
答案
我猜您正在使用Rails4。如果是这样,则必须在控制器中将所需的参数标记为必需。
您可以参考http://stackoverflow.com/questions/17868427/rails-4-activemodelforbiddenattributeserror
以上是关于ActiveModel :: ForbiddenAttributesError使用旧版本的Ruby? [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 ActiveModel::Serializer 中序列化错误哈希
是否可以在 Rails 控制器之外使用 ActiveModel::Serializers?
rails create方法ActiveModel::ForbiddenAttribute的问题