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。为了看看这是否有效,我运行了我所有的规范测试。我在那里有几个模型,显然所有控制器#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

我去了网上的真实链接,令人惊讶的是,它很好。谁可以帮我这个事 ?

4

1 回答 1

0

这是最新的旅程宝石(1.0.4)的问题 -

要解决这个问题,只需将 Journey gem 的版本锁定为 1.0.3(稳定)

gem "journey", "1.0.3"
于 2012-08-17T15:34:56.907 回答