3

Rails 3.2.3 を使用していますが、完全に正常に動作します。テストはパスします。今日、Rails 3.2.3 から Rails 3.2.6 にアップグレードしました。

私はGemfileを変更することでそれを行いました:

私は削除します

gem 'rails', '3.2.3'

そして追加

gem 'rails', '3.2.6'

私は走りbundle updateます。それが機能するかどうかを確認するために、すべての仕様テストを実行します。私はそこにいくつかのモデルを持っていますが、明らかにすべての controller#show が失敗します。コントローラー#showだけです。エラーメッセージは次のとおりです。

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

Web 上の実際のリンクにアクセスしたところ、驚くべきことに、問題ありません。誰でもこれについて私を助けることができますか?

4

1 に答える 1

0

これは最新のジャーニージェム(1.0.4)の問題です-

これを修正するには、journey gemのバージョンを1.0.3(安定している)にロックするだけです。

gem "journey", "1.0.3"
于 2012-08-17T15:34:56.907 に答える