現在、以下のようはhashデータから人組のkey, valueをそれぞれ変数に入れてviewで使いたいと思っています。
調べてみたのですが、以下の方法ではできなかったので、どなたか手助けいただけますと幸いです。
controller @local_media = LocalMedium.all @media_hokkaidou = @local_media.where(prefecture: "北海道") @media_aomori = @local_media.where(prefecture: "青森県") ・ ・ ・ @modals = {"modal-hokkaidou": @media_hokkaidou, "modal-aomori": @media_aomori} @todays_key = @modals.to_a.sample[0] 配列に直して0番目=keyを取得 @todays_value = @modals.to_a.sample[1] 同様にしてvalueを取得
html.erb <div id="<% @todays_key %>" class="modal js-modal"> <div class="modal-bg js-modal-close"> </div> <div class="modal-content"> <table> <tr> <th>サイト名</th> <th>サイト紹介</th> </tr> <% @todays_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> </div> </div>
###追記
viewで@todays_valueに対応するLocalMedium内の"prefecture"カラムを取得して、
今日のおすすめは「~~~」
のようにviewで表示したいと考えています。
以下のコードを書いてみたのですが、うまくいかったので教えていただきたいです。
controller @todays_key, @todays_value = @modals.to_a.sample @todays_prefecture = @todays_value.select("prefecture")
html.erb <header class="text-center w-md-50 mx-auto mb-8"> <h2 class="h1">今日のおすすめ地域</h2> <p class="h5">今日のおすすめ地域は「<%= @todays_prefecture %>」です。</p> </header> <div id="<% @todays_key %>"> <table> <tr> <th>サイト名</th> <th>サイト紹介</th> </tr> <% @todays_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>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/23 12:53
2020/12/23 13:47