Not a really big thing, but I felt the need for a method like link_to_unless_current which ignores request parameters (you know, those things that come after the ‘?’ in the url). I couldn’t find it in the Rails api, so I wrote my own little snippet in a helper:
# makes a link unless 'link' equals the current
# page ignoring request parameters
#
# e.g. this will not make a link:
# current page = http://your.web.site/articles?page=2
# link = http://your.web.site/articles
# but this will:
# current page = http://your.web.site/articles/2
# link = http://your.web.site/articles
def link_to_unless_current_ignore_parameters(title, link)
link_to_unless(request.request_uri.gsub(/?.*/, '') == url_for(link), title, link)
end
If someone knows a better way, please let me know :) I thought about aliasing the original method and having an optional boolean parameter that defines whether to ignore the request parameters, but decided to go with this instead.