我在rails中发布一个表单。 我的car_id参数被 url 参数覆盖。
如何更改此行为?
我的网址看起来像
http://localhost:3000/form?car_id=nissan
但是,我的形式是..
<%= form_with mycontroller_path, method: :post do |f| %>
<% Car.all.each do |car| %>
<tr>
<td><%= radio_button_tag "car_id", car.id, @car.id == car.id, class: "selected-car"%></td>
<td colspan="3">
<%= label_tag "car_id_#{car.id}" do %>
<span data-label="Car" class="text-left col-md-6" >
<%= car.name %>
</span>
<span data-label="Price" class="text-left col-md-6" >
<%= car.formatted_amount %>
</span>
<% end %>
</td>
<td data-label="">
</td>
</tr>
<% end %>
...
<% end %>
我的表单参数始终被 URL 参数覆盖,如何更改此行为?
使用您当前的代码,应该radio_button_tag "car_id_#{car.id}",
radio_button_tag "car_id"
,以使每辆车都不同。
在控制器中,如果在 URL 和请求正文中具有相同名称的不同参数,则可以使用来自表单的参数的request.POST
和来自 URL 的参数request.GET
来区分它们。