传递参数行为-验证失败/刷新后失去参数

问题描述 投票:0回答:1

我目前正在使用以下方法创建子关联(case_mains与便笺具有one_to_many关系)。

创建注释链接:

      <%= link_to 'New Note', new_note_path(:case_main_id => @case_main.id)%>

注释表格:

  <%= form.hidden_field :case_main_id, :value => params[:case_main_id]%>

这通常可以正常工作,直到导航到注释表单后刷新页面,或者更有可能在提交时未通过验证检查。然后,笔记表单丢失了case_main_id并给我一个“案例主不能为空”的错误。我应该使用另一种方法吗?

谢谢!

ruby-on-rails
1个回答
0
投票

只是猜测,我想您的表单是form_forform_with model: ...标签,对吧?

如果这样,请不要这样做:

form.hidden_field :case_main_id, value: params[:case_main_id]

仅执行此操作:

form.hidden_field :case_main_id

并且在new操作上将case_main_id设置为新的音符:

@note = Note.new(case_main_id: params[:case_main_id])

您当前代码的问题是,提交表单后,case_main_id位于params[:note][:case_main_id]

© www.soinside.com 2019 - 2024. All rights reserved.