1

Rails 3 コントローラーの 1 つの仕様を書こうとしています。私がヒットしようとしているパスは次のとおりです。

GET /:user_id/photos/shared_photos?page=:page

この :page パラメータは通常、ブラウザの JQuery クリック ハンドラからの AJAX リクエストによってインスタンス化されます。ただし、RSpec では、コントローラーを直接テストしようとしていますが、その :page 値を渡すための構文に問題があります。私は試した:

get :shared_photos, :id => user.id, :page => 2

しかし、これはうまくいきません。おそらくルートの /:page/ 部分がなく、Rails がそれを理解できないため、ルーティング エラーが発生します。私の質問は、コントローラー仕様の 1 つからそのページ パラメーターを渡すにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

に任意のパラメーターを追加getしても (それ自体で) ルーティング エラーが発生することはないため、問題の場所を間違っていると思います。

AJAX 応答をテストしている場合は、おそらく次のことを試してみてください。

xhr :get, :shared_photos, :id => user.id, :page => 2

また、フォーマットがコントローラーが期待するものと一致することを確認してください (JSON の場合は を追加します:format => :json)。

この質問に対する以前の回答も参照してください: How do I test this code in RSpec?

于 2012-08-21T21:37:20.267 に答える