在http://localhost:3000/services/1
中,我有一个带有参数的当前页面的按钮:
<%= button_to table.seats, service_path(@service, table_id: table.id), method: :get, class=["btn"] %>
在页面上,我看是正确的:
<form class="button_to" method="get" action="/services/1?table_id=3">
<input class="btn" type="submit" value="2">
</form>
但在service_controller
我有一个断点,看不到params[:table_id] = 3
(byebug) params
{"controller"=>"services", "action"=>"show", "id"=>"1"}
我做错了什么?
更新:
如果我在控制器中获取当前绝对URL并获得:
(byebug) request.original_url
"http://localhost:3000/services/1"
但按钮中的链接是:
action="/services/1?table_id=3"
怎么可能?
答案 0 :(得分:0)
您不能在表单的action
属性中包含查询字符串。您需要在隐藏的输入中传递表ID。
submitting a GET form with query string params and hidden params disappear