如何使用select_date传递参数日,月和年?

时间:2013-11-30 22:20:50

标签: ruby-on-rails ruby erb ruby-on-rails-2

我有以下date_select,它显示三个下拉菜单,我可以从中选择月,日和年。

<%=date_select("dateName", "dateMethod", :order => [:month, :day, :year])%>

我不知道如何将参数传递到下一页。如何通过submit_taglink_to传递月,日和年?我在一个名为generateDataForReport的视图页面中,我想在名为showGeneratedReport的同一控制器下的另一个视图中捕获参数。

1 个答案:

答案 0 :(得分:1)

如果在提交表单时查看控制台,可以看到这些参数的命名方式:

"dateName"=>{"dateMethod(2i)"=>"12", "dateMethod(3i)"=>"1", "dateMethod(1i)"=>"2013"

在你的控制器中,你可以抓住这样的参数:

年份:

params[:dateName]['dateMethod(1i)']

月:

params[:dateName]['dateMethod(2i)']

天:

params[:dateName]['dateMethod(3i)']

您可以将它们分配给控制器中的变量,以便更容易处理:

day = params[:dateName]['dateMethod(3i)']
month = params[:dateName]['dateMethod(2i)']
year = params[:dateName]['dateMethod(1i)']

如果您想将这些参数传递到下一页,请在重定向中执行以下操作:

redirect_to report_path(@report, :d => day, :m => month, :y => year) 

现在在下一页上,您的网址应如下所示,显示您的参数:

http://localhost:3000/reports/28?d=1&m=12&y=2013

现在要在页面上显示它们:

  <%= params[:d] %>
  <%= params[:m] %>
  <%= params[:y] %>