Rspec错误:ActionController :: UrlGenerationError:没有路由匹配

时间:2017-04-02 21:58:08

标签: ruby-on-rails-4 rspec devise

我一直在浏览谷歌和这个网站吨,但无法得到这个错误的解决方案。如果有人能提供帮助,我们将不胜感激。

所有控制器测试都失败了,消息大致相同。

enter image description here

在我看来,它需要的所有数据都存在,但它仍然失败。要使这个测试工作,它所需要的只是路径中的post id,没有登录或类似的东西。

如果我明白导致此错误的原因,我相信我可以让其他人工作。这是一个例子(创建上述错误的例子)

describe "GET #show" do
 it "assigns the requested post as @post" do
   post = FactoryGirl.create(:post)
   get :show, params: {id: post.to_param}, session: valid_session
   expect(assigns(:post)).to eq(post)
 end
end

有一条路线与帖子控制器中的show动作对齐...

enter image description here

..所以我有点不确定为什么这个测试(以及控制器的所有测试)都失败了。

我已经查看了自2013年左右开始处理此问题的问题,并且他们没有为我解决这些问题。我无法让rspec找到这条路线,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

您无需将参数放在键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