我有一段代码从查询字符串中删除了search
元素,因此我可以提供一个链接,指示用户重新加载页面而不显示搜索参数。
我必须做的代码需要6行。
<%
url = request.original_url
uri = URI.parse(url)
query = Rack::Utils.parse_query(uri.query)
query.delete('search')
uri.query = Rack::Utils.build_query(query)
%>
<%= link_to 'Clear search filter', uri.to_s %>.
在Rails中是否有单行代码,所以我只需要link_to
行?
更新:我希望能够保留除search
参数之外的任何其他查询字符串参数。
答案 0 :(得分:1)
您的方式完全取决于您的要求。 您只需
即可实现此目的<%= link_to 'Clear search filter', search_path %>
如果您需要任何特殊参数,请将其传递给wil url
<%= link_to 'Clear search filter', search_path(your_required_param/params) %>
答案 1 :(得分:1)
您可以url_for
使用当前params
的副本而不使用search
密钥:
<%= link_to 'Clear search filter', url_for(params.except(:search)) %>