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

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

http://0.0.0.0:3000/posts?direction=asc&sort=title 

按标题排序升序。

现在假设我有一个搜索引擎,如果你搜索“鸡”,例如,url可能是:

 http://0.0.0.0:3000/posts?direction=asc&search=chicken&sort=title 

但是我不想搜索,而是想建立一个链接,例如Show all results for chicken ,并将&search = chicken追加到url,或者如果搜索已经有值,则替换它。

这可能吗?

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

请注意,您需要使用现有的params哈希并合并到您的附加:search项中,否则您的directionsort参数将从URL中删除。 此外,如果存在params[:search]项,则它将被合并覆盖。

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