2012-06-22 104 views
3

我有Rails 3.2.3,它工作得很好。測試通過。今天我從Rails 3.2.3升級到了Rails 3.2.6。升級到Rails 3.2.6和路由錯誤

我這樣做,通過改變的Gemfile:

我刪除

gem 'rails', '3.2.3' 

,並添加

gem 'rails', '3.2.6' 

我跑bundle update。爲了看看是否有效,我運行了所有規格測試。我有幾個模型在那裏,顯然所有的控制器#顯示失敗。只是控制器#顯示。以下是錯誤消息:

Failure/Error: get 'show', :id => product.to_param 
    ActionController::RoutingError: 
     No route matches {:id=>"76", :controller=>"products", :action=>"show"} 

這裏是測試代碼:

let!(:product) { create(:product) } 
describe "GET show" do 
    it "should assign the requested product as @product" do 
     get 'show', :id => product.to_param 
     assigns[:product].should == product 
    end 
    end 

我到網絡上的真實鏈接,出人意料的是,它的罰款。誰可以幫我這個事 ?

+0

顯示其中斷的零件的語法..它尋找的路線包括id ..這條路線在哪裏? {:id =>「76」,:controller =>「products」,:action =>「show」} –

+0

這裏的問題完全相同,從3.2.5升級到3.2.6。 – recurser

+6

回覆這個SO-post:http://stackoverflow.com/questions/11466917/routing-error-when-updating-to-rails-3-2-6-or-rspec-2-11-0 –

回答

0

這是最新的旅程寶石的問題,(1.0.4) -

爲了解決這個問題,只是鎖定旅程寶石的版本1.0.3(這是穩定)

gem "journey", "1.0.3"