読者です 読者をやめる 読者になる 読者になる

(未解決)RSpecでネストされたresourcesのControllerクラスを書くのはどうしたらよいか

盛大にハマったので備忘録ながらメモ。
ちなみにまだ解決してないです・・・

Rails4rc1で開発をしているのですが、routes.rbには以下のように記述してあるとする

  resources :events do
    resources :events_users
  end

そして、以下のコマンドを実行して自動生成

rails g rspec:controller events_users

「events_users_controller_spec.rb」というファイルが作成される。

そして、テストデータを用意して試しに実行してみると
以下の様な感じでテストエラーとなる。

  1) EventsUsersController GET index assigns all events_users as @events_users
     Failure/Error: get :index, {}, valid_session
     ActionController::UrlGenerationError:
       No route matches {:action=>"index", :controller=>"events_users"}
     # ./spec/controllers/events_users_controller_spec.rb:39:in `block (3 levels) in <top (required)>'

events_usersがeventsにネストされていて、routeがないということまでわかったが
実際にRSpecでどう定義すればControllerのテストを通すことができるのか
まったくわからない状態です。

ちなみに画面は正常に動くことは確認済み。

どハマり中なので、モヤモヤ感がずっとの状態。
素直にRailsの標準のUnitTestを使えばよかったかな・・・