【发布时间】:2013-04-30 17:05:39
【问题描述】:
我正在开发的应用中有一条路线,看起来像这样...
match ":place_id/:id", :controller => "companies", :action => "show", :place_id => /\S{2}/
所以在我的浏览器中我可以导航到这个 URL。
mylocalmachine/gb/some-company
在服务器日志中一切正常。
Started GET "/gb/some-company" for 127.0.0.1 at 2013-04-30 17:44:52 +0100
Processing by CompaniesController#show as HTML
Parameters: {"place_id"=>"gb", "id"=>"some-company"}
但在控制器规范中,我正在尝试测试此路由及其行为。
get "/gb/some-company"
但我得到了这个错误
ActionController::RoutingError: No route matches {:controller=>"companies", :action=>"gb/some-comapny"}
注意:我尝试将此路由放在 routes.rb 文件的顶部,以查看测试是否有效,但没有运气。所有其他规格也都通过了。我可能会出错的任何想法将不胜感激。
更新:这就是测试的样子...
params_from(:get, "/gb/some-company").should == {:controller => "companies", :action => "show", :country_id => "gb", :id => "some-company"}
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 rspec rspec2