我有 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 都失败了。只是 Controller #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
我访问了网络上的真实链接,令人惊讶的是,它很好。谁能帮我解决这个问题?
最佳答案
这是最新旅程 gem (1.0.4) 的问题 -
要解决这个问题,只需将 journey gem 的版本锁定为 1.0.3(稳定版)
gem "journey", "1.0.3"
关于ruby-on-rails - 升级到 Rails 3.2.6 和路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11163049/