Я хочу метод, называемый same_url? который вернет true, если переданные в URL-адреса равны. Переданные в URL-адресах могут быть либо параметрами хэша параметров, либо строками.Каков наилучший способ в Rails определить, равны ли два (или более) заданных URL (как строки или хэш-варианты)?
same_url?({:controller => :foo, :action => :bar}, "http://www.example.com/foo/bar") # => true
рельсам Framework помощник current_page? кажется хорошей отправной точкой, но я хотел бы передать в произвольном количестве URL-адреса.
В качестве дополнительного бонуса, было бы хорошо, если хэш Params, чтобы исключить из сравнения может быть принят в Так вызов метода может выглядеть следующим образом:.
same_url?(projects_path(:page => 2), "projects?page=3", :excluding => :page) # => true
Я замечаю, что в вашем примере у вас есть строковый url, но вы все еще ожидаете, что параметр страницы будет исключен. Я бы разобрал это в хэш, используя модуль маршрутизации, и работал только с хэшами. – kch 2009-03-16 00:00:46