Ruby on rails can';无法使用rails中的get请求获取id
嗨,我有一张rails表格:Ruby on rails can';无法使用rails中的get请求获取id,ruby-on-rails,Ruby On Rails,嗨,我有一张rails表格: <%= form_tag("/orders", action: "find", method: "get") do %> <%= text_field_tag(:barcodeform) %> <%= submit_tag("find") %> <% end %> 控制器: 没什么特别的,我只是在there is redirect中设置了一个名为find的方法,看看它是否有效
<%= form_tag("/orders", action: "find", method: "get") do %>
<%= text_field_tag(:barcodeform) %>
<%= submit_tag("find") %>
<% end %>
控制器:
没什么特别的,我只是在there is redirect中设置了一个名为find的方法,看看它是否有效
现在,当我在表单中输入值时,它会执行以下操作:
http://example/orders?utf8=%E2%9C%93&barcodeform=631&commit=find
但我想让它做一些类似的事情:
http://example/orders/531
我没有得到任何搜索结果,它只显示所有条目。
我应该如何编写表单以获得此类结果“/orders/id”?
有什么想法吗?
谢谢有一些事情正在进行,但是首先您应该了解,
utf8
信息是由Rails表单助手生成的。如果您真的不想要它,请构建您自己的
,而不是使用表单帮助器
接下来,由于用户表面上是在提供您的条形码表单
,因此它不应该是表单操作的一部分。您可以使用一点javascript来完成类似的事情,但这不是最佳实践。您希望将该barcodeform
值作为查询参数,以便您可以在控制器中使用params[:barcodeform]
访问它,并以适当的方式处理用户输入的任何疯狂行为
最后,你需要修正你的路线。您的路由当前正在生成一个如下所示的url:
http://example/orders/:id/find
因为您还不知道:id
,所以您不需要。相反,请使用集合
:
collection do
get 'find'
end
现在,您的表单应该如下所示:
<%= form_tag("/orders/find", method: "get") do %>
...
<% end %>
...
这些可能相关吗?(或者)问题不是关于utf8的东西,而是关于我代码背后的逻辑。无论如何,谢谢你好,sry,我迟了回复。谢谢你的时间和帮助。你帮了我很多忙。
<%= form_tag("/orders/find", method: "get") do %>
...
<% end %>