Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 如何更改我的参数格式?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何更改我的参数格式?

Ruby on rails 如何更改我的参数格式?,ruby-on-rails,ruby,Ruby On Rails,Ruby,以下是我的Ruby代码: <%form_tag orders_path, :method => 'get' do%> From <%= date_select ("from", "", :start_year => 2010, :order => [:day, :month, :year])%> To

以下是我的Ruby代码:

        <%form_tag orders_path, :method => 'get' do%>
        From                                        
        <%= date_select ("from", "", :start_year => 2010, :order => [:day, :month, :year])%>
        To                                              
        <%= date_select ("to", "", :start_year => 2010, :order => [:day, :month, :year])%>
        <%= submit_tag "Search", :name => nil%>
        <%end%>

我该怎么办?

这根本不是Rails特有的,因为HTML表单传递参数的格式是一个已定义的标准<代码>(?输入\名称=输入\值&下一个\输入\名称=下一个\输入\值)。由于您希望对日/月/年进行单独的选择,因此在提交表单之前,恐怕只有使用JS了

Nils Riedemann是正确的,这不一定是rails的问题,而是HTML表单的问题

您可以使用隐藏的表单字段来执行所需操作。创建两个隐藏文本字段(一个用于“发件人”,一个用于“收件人”)。编写一个Javascript函数,获取月/日/年选择字段的值,从其值中构建一个类似“25/01/2010”的字符串,并将该字符串存储为隐藏字段的内容。将Javascript函数连接起来,以便在每次更改日期选择字段时运行。现在,如果表单的“提交”操作只提交两个隐藏字段,那么您可以得到您想要的外观更好的URL

或者,您可以使用如下URL:

http://localhost:3000/orders/25-01-2010/25-04-2010
通过利用rails的功能。具体请参见“漂亮的URL”部分

http://localhost:3000/orders/25-01-2010/25-04-2010