前提・実現したいこと
・下記記述内容の意味が知りたい
・この記述内でのstrongの意味が知りたい
TechpitでRuby on Railsの教材をやっています。
Instagram風アプリ作成中で、いいね機能の実装過程の記述内容の意味を知りたいです。
(少し前の教材で、作成者が質問をあまり閲覧していないようなので、こちらで質問させて頂きます)
該当のソースコード
Instagramのように、写真の下にいいねしたユーザーの名前を表示させる記述です。
いいね数に応じて表示内容を変えています。
likesコントローラー(いいね機能)、usersコントローラー、postsコントローラー(投稿機能)作成済。ソースコードは教材のものをそのまま貼り付けています。
<strong> <% likes.each.with_index do |like, index| %> <% if likes.size == 1 %> <%= like.user.name %> </strong> が「いいね!」しました <% elsif like == likes.last %> </strong>and<strong> <%= + like.user.name %></strong> が「いいね!」しました <% elsif index > 1 %> </strong><%= "and " + (likes.size-index).to_s + " 他 " %> が「いいね!」しました <% break %> <% elsif index == likes.size-2 || index == 1 %> <%= like.user.name %> <% else %> <%= like.user.name + ", " %> <% end %> <% end %> </strong>
試したこと
each.with_indexは、eachループで回しつつ、それぞれのデータに番号を振れる(0から始めなくても良い)
<% if likes.size == 1 %> は ”いいねが1のとき”
likes.last は 最後(最新)にされたいいね
<% break %>はループから離脱する
という意味で解釈しています。
補足情報(FW/ツールのバージョンなど)
Ruby 2.6.3
Rails 5.2.5
初歩的な質問で申し訳ありません。
足りない情報等ございましたら、ご教授頂けますと幸いです。
あなたの回答
tips
プレビュー