通过rails中的链接将文本附加到当前URL

Ell*_*iot 1 ruby ruby-on-rails ruby-on-rails-3

让我们说用户所在的当前页面是:

http://0.0.0.0:3000/posts?direction=asc&sort=title
Run Code Online (Sandbox Code Playgroud)

按标题排序升序.

现在假设我有一个搜索引擎,如果您搜索"鸡",例如,网址可能是:

http://0.0.0.0:3000/posts?direction=asc&search=chicken&sort=title
Run Code Online (Sandbox Code Playgroud)

但是我不想搜索,而是想建立一个链接,例如<a href="CODE HERE">Show all results for chicken</a>将&search = chicken追加到url,或者如果搜索已经有值,则替换它.

这可能吗?

Dyl*_*kow 6

您可以在link_to没有指定控制器/操作的情况下使用该功能.只需提供您想要的参数,就会为当前页面和这些参数创建一个URL.

请注意,您将需要使用现有的params哈希值,并在您的附加合并:search的项目,否则你directionsort论证会从URL中移除.此外,如果存在现有params[:search]项目,则合并将覆盖该项目.

<%= link_to "Show all results for chicken", params.merge({:search => "chicken"}) %>
Run Code Online (Sandbox Code Playgroud)