Ruby on rails 4 Rspec错误:ActionController::UrlGenerationError:没有路由匹配
我已经在谷歌和这个网站上浏览了很多次,但是没有找到一个解决这个错误的方法。如果有人能帮忙,我将不胜感激 所有控制器测试都失败,但消息大致相同 在我看来,它需要的所有数据都在那里,但它仍在失败。为了让这个测试正常工作,它只需要路由中的post id,不需要登录或类似的东西 如果我明白是什么导致了这个错误,我相信我可以让其余的工作正常进行。下面是一个示例(创建上述错误的示例) 在posts控制器中有一条与show操作对齐的路由 …所以我有点不确定为什么这个测试(以及控制器的所有测试)失败了Ruby on rails 4 Rspec错误:ActionController::UrlGenerationError:没有路由匹配,ruby-on-rails-4,rspec,devise,Ruby On Rails 4,Rspec,Devise,我已经在谷歌和这个网站上浏览了很多次,但是没有找到一个解决这个错误的方法。如果有人能帮忙,我将不胜感激 所有控制器测试都失败,但消息大致相同 在我看来,它需要的所有数据都在那里,但它仍在失败。为了让这个测试正常工作,它只需要路由中的post id,不需要登录或类似的东西 如果我明白是什么导致了这个错误,我相信我可以让其余的工作正常进行。下面是一个示例(创建上述错误的示例) 在posts控制器中有一条与show操作对齐的路由 …所以我有点不确定为什么这个测试(以及控制器的所有测试)失败了 从2
从2013年起,我就开始研究这里的问题,这些问题都涉及到这一点,但它们并没有为我解决。我无法让rspec找到这条路线,因此非常感谢您的帮助。您不需要将参数置于键
params
下
describe "GET #show" do
it "assigns the requested post as @post" do
post = FactoryGirl.create(:post)
get :show, { id: post.to_param }, session: valid_session
expect(assigns(:post)).to eq(post)
end
end
您是否尝试过此选项:
get:show,id:post.to_参数,session:valid_session
?您是否指定了type::controller
?如下所示:RSpec.descripe PostsController,type::controller
describe "GET #show" do
it "assigns the requested post as @post" do
post = FactoryGirl.create(:post)
get :show, { id: post.to_param }, session: valid_session
expect(assigns(:post)).to eq(post)
end
end