【发布时间】:2010-07-15 09:53:25
【问题描述】:
我需要使用已弃用的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
路由确实存在,我可以通过UI成功使用路径。
IMO 这种params_from 和route_for 的组合是个坏主意,除非仍然支持单独的匹配项。但也许我错过了一些明显的东西;)
【问题讨论】:
标签: ruby-on-rails rspec routes