【发布时间】:2016-08-08 14:48:40
【问题描述】:
我使用 Rails (4.1.16) 和 Rspec (3.5.1) 生成了一个脚手架。
它生成了这个测试:
describe "GET #show" do
it "assigns the requested team as @team" do
team = Team.create! valid_attributes
get :show, params: {id: team.to_param}, session: valid_session
expect(assigns(:team)).to eq(team)
end
end
输出此错误:
TeamsController GET #show assigns the requested team as @team
Failure/Error: get :show, params: {id: team.to_param}, session: valid_session
ActionController::UrlGenerationError:
No route matches {:action=>"show", :controller=>"teams", :params=>{:id=>"82"}, :session=>{}}
如果我将参数的键删除到get,即:
get :show, {id: team.to_param}, valid_session
测试通过了。
不确定是什么 gem 定义了生成器模板(rspec-rails?)以及为什么会出现此错误。理解这个问题将不胜感激。谢谢。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 rspec rspec-rails