我正在尝试创建一个表单,其中我将隐藏的值生成一个数组,如:
"comment"=>{"comment"=>"sss", "feed_id"=>"354"}, "commit"=>"Comment"}
但是当我尝试在控制器中使用permit时会产生错误,我的控制器查询是这样的:
@feeds= Feed.find(params["comment"]["feed_id"])
这个@feeds工作得很好,但是当我尝试使用许可参数时,它显示错误
ActionController::ParameterMissing (param is missing or the value is empty: feed):
允许我使用此查询:
def feed_params
#params.require(:feed).permit(comment: :feed_id)
params.require(:feed).permit(comment: [ :feed_id, :comment ])
#params[:market_place]
end
当我在我的控制器中添加它时,如下所示:
@feeds= Feed.find(feed_params)
我收到此错误
ActionController::ParameterMissing (param is missing or the value is empty: feed):
这是我的表格:
<%= form_for(@comment,:remote => true) do |f| %>
<%= f.text_area :comment, class:"form-control post required" %>
<%= f.hidden_field :feed_id, {:value => @feed} %>
答案 0 :(得分:1)
如果您将feed_params
写入require(:feed)
,则Rails会希望params
拥有"feed"
密钥和值,而不是comment_params
。您的表单适用于评论,因此您实际上定义了def comment_params
params.require(:comment).permit(:comment, :feed_id)
end
方法。像这样定义:
@feeds= Feed.find(comment_params["feed_id"])
然后找到你喜欢的Feed:
npm install
你应该全力以赴。