Ruby on rails 如何在自定义表单中传递非表单数据

Ruby on rails 如何在自定义表单中传递非表单数据,ruby-on-rails,ruby-on-rails-4,params,Ruby On Rails,Ruby On Rails 4,Params,我有一个表单,在其中传递相关数据,如下所示: form_for(@question, url: create_question_path(category_id: @category.id)) do |f| f.text_field :content submit_tag "Save" save 如何在与内容相同的嵌套级别上获取类别id,以便对其进行评估?您可以将其作为标记包含,如果我理解正确,您希望将其隐藏,以便: hidden_field_tag 'category_id', @c

我有一个表单,在其中传递相关数据,如下所示:

form_for(@question, url: create_question_path(category_id: @category.id)) do |f|
  f.text_field :content
  submit_tag "Save"
save

如何在与
内容
相同的嵌套级别上获取
类别id
,以便对其进行评估?

您可以将其作为标记包含,如果我理解正确,您希望将其隐藏,以便:

hidden_field_tag 'category_id', @category.id
现在,它将作为params[:category\u id]而不是params[:questions][:category\u id]提交,以在控制器中解决此问题。在过滤器之前创建

def prepare_params      
  params[:question][:category_id] = params[:category_id]
  params.delete :category_id
end

您可以将其包含为标记,如果我理解正确,您希望将其隐藏,以便:

hidden_field_tag 'category_id', @category.id
现在,它将作为params[:category\u id]而不是params[:questions][:category\u id]提交,以在控制器中解决此问题。在过滤器之前创建

def prepare_params      
  params[:question][:category_id] = params[:category_id]
  params.delete :category_id
end