なすび  2023/03/25更新

部分テンプレート「いいね」ボタンが表示されない


books/show.html.erb内


内容:部分テンプレート「いいね」ボタンが表示されない

ログインユーザーの「いいね」は表示されるが、その他ユーザーの「いいね」は表示されない


原因:<% if @book.user == current_user %>で囲んでしまっていた。

ログインユーザー(current_user)のものだけ「いいね(favorites/favorite-btn)」表示するよ!って意味になってしまう。


表示されなかったとき(NG):


<% if @book.user == current_user %>

<%= render "favorites/favorite-btn", book: @book %>←ここ

<%= link_to 'Edit', edit_book_path(@book), class: "btn btn-sm btn-success" %> <%= link_to 'Destroy', @book, method: :delete, data: { confirm: '本当に消しますか?' }, class: "btn btn-sm btn-danger"%>

<% end %>


表示されたとき(正解):


<%= render "favorites/favorite-btn", book: @book %>←ここ

<% if @book.user == current_user %>

<%= link_to 'Edit', edit_book_path(@book), class: "btn btn-sm btn-success" %>

<%= link_to 'Destroy', @book, method: :delete, data: { confirm: '本当に消しますか?' }, class: "btn btn-sm btn-danger"%>




タイトルとURLをコピーしました