【发布时间】:2012-06-22 19:44:02
【问题描述】:
我使用的是 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
我访问了网络上的真实链接,令人惊讶的是,它很好。谁能帮我解决这个问题?
【问题讨论】:
-
显示其中断部分的语法 .. 它寻找的路线包括 id .. 这条路线在哪里? {:id=>"76", :controller=>"products", :action=>"show"}
-
这里完全一样的问题,从3.2.5升级到3.2.6。
-
在这个 SO-post 中回答:stackoverflow.com/questions/11466917/…
标签: ruby-on-rails ruby-on-rails-3 controller gem