当一个form_with
提交时,它会提交所有需要的参数,还有一个叫做“预订”的参数,我完全不知道这个参数是从哪里来的。它不包含在视图中,也不包含在控制器中。似乎form_with
是从某个地方生成它,但我不知道如何/为什么?
我可以允许它作为permit
ted 参数,以防止出现Unpermitted parameter: :booking
错误,然后忽略它,但我更愿意知道发生了什么并删除无关参数。
为什么会form_with
生成不需要的参数,我该如何阻止它这样做?
<%= form_with(url: '/booking-confirm', method: :post, local: false) do |f| %>
<br>Select a time:<br><br>
<% days.each do |day, availabilities| %>
<% availabilities.each do |avail| %>
<%= f.label avail.time_slot %>
<%= radio_button_tag(:time_slot, avail.time_slot) %><br>
<% end %>
<hr>
<% end %>
<%= f.submit "Confirm!", class: "btn btn-primary" %>
<% end %>
请注意,代码中的任何地方都没有引用任何booking
参数(最接近的是url: '/booking-confirm'
)