PHP/Elixirエンジニアのブログ

有益なアウトプットを心がけます。

【Ruby on Rails】いいね/コメントされるといいねしたユーザー名/コメントを表示する

ご覧いただきありがとうございます。

Ruby,Ruby on Rails

成果物を作成中なのでそれについて書いていきます。

本日は「いいね/コメントされるといいねしたユーザー名/コメントを表示する」についてアウトプットします。
いいね/コメントされるといいねしたユーザー名/コメントを表示するを表示するとは
いいねボタンをプッシュしたユーザー名、またはコメントした内容を表示する機能のことです。
(この記事ではいいね機能、コメント機能の実装については割愛させていただきます)


まず結論ですが
「present?」メソッドを使用しました。
このメソッドはRubyの真偽判定の1つで、オブジェクトに値が格納されているかを評価するときに使用します。



【例】
①いいね/コメントする前
f:id:nishida_0730:20190917213408p:plain


②いいね/コメントした後
f:id:nishida_0730:20190917213438p:plain

①のコード

.comment-box
  .comment-box-good
    イイね!した人一覧
      - @post.liked_users.each do |user|
        %li.good
          = user.nickname
  .comment-box
    %h9.mypage コメント一覧
    - if @comments
      - @comments.each do |comment|
        .comments
          %strong.comment-name
            = link_to comment.user.nickname, "/users/#{comment.user_id}"
            :
          = comment.text

②のコード

- if @post.liked_users.present?
  .comment-box
    .comment-box-good
      イイね!した人一覧
      - @post.liked_users.each do |user|
        %li.good
          = user.nickname
- else
  .div

- if @comments.present?
  .comment-box
    %h9.mypage コメント一覧
    - if @comments
      - @comments.each do |comment|
        .comments
          %strong.comment-name
            = link_to comment.user.nickname, "/users/#{comment.user_id}"
            :
          = comment.text
- else
  .div

if文 + present?メソッドを使用して
いいね/コメントが存在するときは内容を表示。
無い時は空のclassを表示させるように設定しました。




9/18(火)の学習内容

・GoogleMap APIを使用した地図表示機能の実装途中

アプリ制作環境

Ruby 2.5.1   ・RubyGems 2.7.6

Rails 5.0.7.2   ・MySQL 5.6.42