(未解決)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を使えばよかったかな・・・