ネストしたルーティングでlink_toを使う際、パスの指定がうまくいきません。
今回モデルをネストしていますので、指定したいパスのidが二個あります。(下記ルーティング画像参考)
そのため、引数を2つ書いているのですが、一番目の引数が無視され、すべて二番目の引数をidに代入し、ページを読み込んでしまいます。
ChoiseArtistHtmlHaml
1.choise_artist__box 2 .left__box 3 - @set_lists.each_with_index do |set_list, i| 4 - if i % 2 == 0 5 .artist__box 6 = link_to set_list_path(@event, set_list), class: "artist__box__content" do 7 = set_list.artist 8 %br 9 のセットリストを見る 10
link_to で飛ばしたいパスはset_listsコントローラーのshowアクションでURIがevents/:id/set_lists/:idになります。
今回の質問はその:id一つ一つの指定ができず、二番目の引数を2つのidに代入してしまうというものになります。
下が実際の画面になります。hrefのeventsの後のidとset_listsの後のidが同じになっているのが分かると思います。
コントローラーでは以下のように記載しています。
EventsController
1 def choise_artist 2 @event = Event.find(params[:id]) 3 @set_lists = @event.set_lists 4 end
railsガイドを参照してもパスの後の引数を2つ書くと書いてあり同じ記述をしているのに、なぜ一つしか読み込んでくれないのかが分かりません。
何卒、宜しくおねがいします。
回答1件
あなたの回答
tips
プレビュー