我遇到了强参数的问题。
我的置换参数是:
def post_params
params.require(:post).permit(:content, :user_id, :topic_id).merge(:user_id => get_user.id)
end
传递的参数是:
{"utf8"=>"✓",
"authenticity_token"=>"5+OEnLgihamJC37BSn4r/spoiRmccJzHhe6eaeC2Fuc=",
"post"=>{"topid_id"=>"10",
"content"=>"awfawfaw"}}
创建功能是:
def create
post = Post.new(post_params)
if post.valid? && post.save
redirect_to :controler => :topic, :action => :show, :topic => post.topic.id
end
end
这是控制台中的错误。我想知道为什么它不允许topic_id
。
答案 0 :(得分:0)
你的准许参数中有拼写错误:
你拥有的是:
def post_params
params.require(:post).permit(:content, :user_id, :topic_id).merge(:user_id => get_user.id)
end
应该是:
def post_params
params.require(:post).permit(:content, :user_id, :topid_id).merge(:user_id => get_user.id)
end
但这取决于您的模型您的模型中的属性名称。您必须在表单中以拼写形式更改表单,或者您必须在其他地方更改。