我有以下date_select
,它显示三个下拉菜单,我可以从中选择月,日和年。
<%=date_select("dateName", "dateMethod", :order => [:month, :day, :year])%>
我不知道如何将参数传递到下一页。如何通过submit_tag
或link_to
传递月,日和年?我在一个名为generateDataForReport
的视图页面中,我想在名为showGeneratedReport
的同一控制器下的另一个视图中捕获参数。
答案 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] %>