lang
1 namespace :teacher do 2 resources :subjects do 3 resources :users do 4 resources :hoges 5 end 6 end 7 end
管理ページとしてこのようなルートを設定しました。
そしてコントローラやビューにteacherフォルダを作成し、subjects_controllerやhoges/index.html.erbなどをコピーしました。
controllers/subjects_controller.rb
controllers/hoges_controller.rb
・・・
controllers/teacher/subjects_controller.rb
controllers/teacher/hoges_controller.rb
・・・
views/hoges/index.html.erb
views/hoges/show.html.erb
・・・
views/teacher/hoges/index.html.erb
views/teacher/hoges/show.html.erb
・・・
※わかりづらいですがこのようになってます。
teacher配下のhoges_controllerとそうでないhoges_controllerのupdateアクションはリダイレクト先が違うのですが、teacher/subjects/subject_id/users/user_id/hoges/id/editで編集内容を更新すると、そうでない方のリダイレクト先に飛ばされてしまいます。
またhoge_paramsでも配下でないコントローラが使用されているのを確認しました。
lang
1#controllers/hoges_controller.rb 2def hoge_params 3 params.require(:folio).permit(:user_id, :subject_id, :xxx) 4end 5 6#controllers/teacher/hoges_controller.rb 7def hoge_params 8 params.require(:folio).permit(:user_id, :subject_id, :xxx, :yyy) 9end
この状態で、teacher/subjects/subject_id/users/user_id/hoges/id/editでxxx,yyyに値を入れて更新すると、コンソールでUnpermitted parameters: yyyと表示されます。
自分ではどうすればこの不具合が治るのか検討もつきませんので、「もしかしたらこうかもしれない」といったアバウトな助言でも構いません。
説明下手で言葉が足りていない部分もあるかとは思いますが、どうかお願いします。
あなたの回答
tips
プレビュー