質問が抽象的で申し訳ございません。
現在、47都道府県のそれぞれのローカルメディア情報を表示するためのパーシャルを作成中です。
これeachを使って繰り返しhtmlを作成しようとしているのですが、以下の2箇所を県ごとに変える必要があるため、hashを使って次の②ような変更をしました。
しかし、エラーとなってしまい、やり方がわからず、どなたかお力添えをいただけないでしょうか。
よろしくお願いいたします。
変えたい箇所
id="modal-hokkaidou" → id = "modal-「県名」
@media_hokkaidou → @media_「県名」
①元のパーシャル
.html.erb <div id="modal-hokkaidou" class="modal js-modal"> <div class="modal-bg js-modal-close"> </div> <div class="modal-content"> <table> <tr> <th>サイト名</th> <th>サイト紹介</th> </tr> <% @media_hokkaidou.each do |medium| %> <tr> <td><%=link_to medium.site_name , medium.site_url %></td> <td><%=link_to medium.intro , medium.site_url %></td> </tr> <% end %> </table> <a href="#" class="js-modal-close">閉じる</a> </div> </div>
②考えてみたがエラーとなってしまった方法
.controller @modals = ["modal-hokkaidou": "@media_hokkaidou", "modal-aomori": "@media_aomori"...]
html.erb <% @modals.each do |key, value| %> <div id="key" class="modal js-modal"> <div class="modal-bg js-modal-close"> </div> <div class="modal-content"> <table> <tr> <th>サイト名</th> <th>サイト紹介</th> </tr> <% "value".each do |medium| %> <tr> <td><%=link_to medium.site_name , medium.site_url %></td> <td><%=link_to medium.intro , medium.site_url %></td> </tr> <% end %> </table> <a href="#" class="js-modal-close">閉じる</a> </div> </div> <% end %>
ご回答を元に変更したコード
html.erb <% @modals.each do |key, value| %> <div id="<% key %>" class="modal js-modal"> <div class="modal-bg js-modal-close"> </div> <div class="modal-content"> <table> <tr> <th>サイト名</th> <th>サイト紹介</th> </tr> <% value.each do |medium| %> <tr> <td><%=link_to medium.site_name , medium.site_url %></td> <td><%=link_to medium.intro , medium.site_url %></td> </tr> <% end %> </table> <a href="#" class="js-modal-close">閉じる</a> </div> </div> <% end %>
controller @modals = {"modal-hokkaidou": @media_hokkaidou, "modal-aomori": @media_aomori} @local_media = LocalMedium.all @media_hokkaidou = @local_media.where(prefecture: "北海道")
発生したエラー
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/22 12:45
2020/12/22 13:02 編集
2020/12/22 13:02
2020/12/22 13:11