最近、RefineryCMSベースのアプリケーションをRails3.2.2から3.2.6にアップグレードしました。
アップグレード前は、製油所のページコントローラーの次の仕様が非常にうまく機能していました。
describe Refinery::PagesController do
render_views
context "Should check the ability to see a page" do
before(:each) do
@live_page = FactoryGirl.create(:live_refinery_page)
@restricted_page = FactoryGirl.create(:restricted_refinery_page)
@draft_page = FactoryGirl.create(:draft_refinery_page)
@error_page = FactoryGirl.create(:error_refinery_page)
end
context "for a not logged in user" do
it "should see live pages" do
get :show, :path => @live_page.slug, :format => "html"
response.should be_success
response.should render_template "refinery/pages/show"
end
...
一致させる必要のあるルートは次のように定義されます。
marketable_page GET /*path(.:format) refinery/pages#show
さて、問題は、すべてのテストで次のようなエラーが発生することです。
1) Refinery::PagesController Should check the ability to see a page for a not logged in user should see live pages
Failure/Error: get :show, :path => @live_page.slug, :format => "html"
ActionController::RoutingError:
No route matches {:path=>"live-page-1", :format=>"html", :controller=>"refinery/pages", :action=>"show"}
# ./config/initializers/refinery/monkey_patches.rb:13:in `around_generate'
# ./spec/controllers/refinery/pages_controller_spec.rb:17:in `block (4 levels) in <top (required)>
スペックで認識されるルートを作成するにはどうすればよいですか?多分それはルートグロブで何かをしなければなりませんか?
ヒントはありますか?