作業中のアプリにルートがあり、次のようになります...
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"}