0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Rails】コメント削除ボタンをコメントしたユーザーのみ表示させるには。

Posted at

はじめに

プログラミング初学者の者です。オンラインでプログラミングを学習させて頂いてるのですが、さらに理解を深めていきたいと思い、学習したことを備忘録として、残して理解を深めていきたいと思います。
また、間違った点など、ありましたら、ご指摘いただけると幸いです。よろしくお願いします。

コメント削除ボタンをコメントしたユーザーのみ表示させるには。

現状下記の状態では全ユーザーに削除ボタンが現れてしまい、削除できる状態でした。

app/views/recipes/show.html.erb
<div class="recipe-comments">
      <% @comments.each do |comment| %>
      <div class="comments_list">
        <div class="comments-title">
        <%= comment.user.user_name %>さんの投稿
        </div>
        <%= comment.content %>
        <%=link_to "削除", recipe_comment_path(comment.recipe,comment), method: :delete %>
      </div>
      <% end %>
      <%= form_with model: [@recipe, @comment], local: true do |f| %>
      <div class = 'form-group'>
        <%= f.text_area :content, class: "form-control", id:"comment_content", placeholder: "コメントを記入してください" %>
      </div>
        <%= f.submit "コメントする", class: "btn btn-primary" %>
      <% end %>
  </div>

if文で条件分岐させます

app/views/recipes/show.html.erb
<div class="recipe-comments">
      <% @comments.each do |comment| %>
      <div class="comments_list">
        <div class="comments-title">
        <%= comment.user.user_name %>さんの投稿
        </div>
        <%= comment.content %>
       <% if current_user == comment.user %>  ###←追記
        <%=link_to "削除", recipe_comment_path(comment.recipe,comment), method: :delete %>
       <% end %> ###←追記
      </div>
      <% end %>
      <%= form_with model: [@recipe, @comment], local: true do |f| %>
      <div class = 'form-group'>
        <%= f.text_area :content, class: "form-control", id:"comment_content", placeholder: "コメントを記入してください" %>
      </div>
        <%= f.submit "コメントする", class: "btn btn-primary" %>
      <% end %>
  </div>

削除ボタンのlinkの部分に「<% if current_user == comment.user %> 」
現在ログインしているユーザーとコメントしたユーザーが一致した場合、表示させる分岐を行います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?