2017-04-02 10 views
0

私はGoogleとこのサイトのトンをサーフィンしていますが、このエラーの解決策を得ることはできません。もし誰かが大いに感謝するのを助けることができれば。Rspecエラー:ActionController :: UrlGenerationError:経路が一致しません

すべてのコントローラテストは、ほぼ同じメッセージで失敗しています。

enter image description here

それが必要とするすべてのデータがあるように私には見えますが、まだそれはまだ失敗しています。このテストがうまくいくためには、ルートの投稿ID、サインインなどが必要です。

私は、このエラーに至った原因を理解していれば、残りの作業ができると確信しています。ここでは一例としては、(上記のエラーを作成する1)

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

..so私はなぜこのテスト(そしてコントローラのすべてのテスト)が失敗しているのか不明確です。

私は2013年頃からこれを扱った質問を見てきましたが、私のために解決しませんでした。私はこのルートを見つけるためにrspecを得ることができないので、どんな助けも大いに評価されるでしょう。

+0

「get:​​show、id:post.to_param、session:valid_session'」を試したことがありますか?そしてあなたは 'type::controller'を指定しましたか? 'RSpec.describe PostsController、type :: controller' –

答えて

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 
+0

ありがとう、それはこのテストのためにそれを解決しました。 –

関連する問題