Мне нужно использовать функциональность params_from
, которая устарела. Теперь route_to
сочетает в себе поведение params_from
и route_for
. Но я не хочу проверять, что route генерирует path , потому что это не так, и это сделано намеренно (для обратной совместимости в старых письмах мне нужно "псевдоним" старого пути к правильному контроллеру / действию, но путь, сгенерированный новым маршрутом, будет другим. Я знаю, сбивающий с толку;)
При использовании params_from
и route_to
я получаю противоречивые результаты (возможно, params_for не работает?):
# params_from(:get, 'user/tasks').should == { :controller => 'user', :action => 'tasks' }
No route matches "user/tasks" with {:method=>:get}
# { :get => 'user/tasks' }.should_not be_routable
Expected 'GET user/tasks' to fail, but it routed to {"action"=>"tasks", "controller"=>"user"} instead
Маршрут существует, я могу успешно использовать путь через пользовательский интерфейс.
IMO, эта комбинация params_from
и route_for
является плохой идеей, если только отдельные совпадения не поддерживаются. Но, может быть, я что-то упустил очевидное;)