Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails can';无法使用rails中的get请求获取id_Ruby On Rails - Fatal编程技术网

Ruby on rails can';无法使用rails中的get请求获取id

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的方法,看看它是否有效

嗨,我有一张rails表格:

<%= 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 %>