Sil*_*ver 4 parameters url ruby-on-rails link-to url-parameters
我是RoR初学者并使用Rails 3.2.3.
我的页面上有一个搜索表单,它会执行get请求并正确过滤结果.
我想添加按日期搜索产品的可能性.我插入了一个date_select并且能够选择日期,当搜索后页面刷新时,所选日期仍然在date_select上,因为我能够通过它params.
但是,我的问题是,当页面呈现产品时,他们有一个link_to到他们的show动作.我的目标是还在URL上传递选定的日期以在该link_to上执行搜索.
例如,如果用户选择20-06-2012至25-06-2012的日期,则仅显示在该时间范围内插入的产品(并且所有这些参数都在网址上)
但是显示每个显示产品的动作的链接仅是:
link_to <%= link_to product.name, product%>
Run Code Online (Sandbox Code Playgroud)
这呈现
http://localhost:3000/products/24 (例子)
我想渲染/展示的是:
http://localhost:3000/products/24?from=20-06-2012&to=25-06-2012
Run Code Online (Sandbox Code Playgroud)
此时执行搜索的所选日期不会存储在数据库中,但我需要从后一页的URL中获取它们,因此,在用户填写之前,需要通过2个不同的页面保留这两个日期.表单,然后将这些日期插入数据库中.
关于这个的任何提示?我搜索过,但我发现的只是如何传递模型中存在的变量,我不想使用cookie或会话变量.
在此先感谢,问候
如果要将任意参数传递给以下调用
<%= link_to product.name, product %>
Run Code Online (Sandbox Code Playgroud)
您需要显式调用path方法而不是使用隐式版本.上面的行相当于
<%= link_to product.name, product_path(product) %>
Run Code Online (Sandbox Code Playgroud)
然后你可以传递参数
<%= link_to product.name, product_path(product, :from => 'whatever', :to => 'whatever') %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6578 次 |
| 最近记录: |