Rails 参数允许我收到错误
Rails params permit I am getting error
我正在尝试创建一个表单,我在其中放置隐藏值,该值生成一个数组,如下所示:
"comment"=>{"comment"=>"sss", "feed_id"=>"354"}, "commit"=>"Comment"}
但是当我尝试在控制器中使用允许它产生错误时,我的控制器查询是这样的:
@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} %>
如果您将 feed_params
写入 require(:feed)
,那么 Rails 将期望 params
具有 "feed"
键和值,而实际上没有。您的表单用于 comments,因此您实际上定义了一个 comment_params
方法。像这样定义它:
def comment_params
params.require(:comment).permit(:comment, :feed_id)
end
然后像这样找到您的 Feed:
@feeds= Feed.find(comment_params["feed_id"])
你应该一切就绪。
我正在尝试创建一个表单,我在其中放置隐藏值,该值生成一个数组,如下所示:
"comment"=>{"comment"=>"sss", "feed_id"=>"354"}, "commit"=>"Comment"}
但是当我尝试在控制器中使用允许它产生错误时,我的控制器查询是这样的:
@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} %>
如果您将 feed_params
写入 require(:feed)
,那么 Rails 将期望 params
具有 "feed"
键和值,而实际上没有。您的表单用于 comments,因此您实际上定义了一个 comment_params
方法。像这样定义它:
def comment_params
params.require(:comment).permit(:comment, :feed_id)
end
然后像这样找到您的 Feed:
@feeds= Feed.find(comment_params["feed_id"])
你应该一切就绪。