Ruby初学者です。
ご教授いただけると幸いです。
【いいね機能を実装したい】
【悩んでいること】
・Ajaxが反応しない
→ブラウザを更新すると反映されるのですが、Ajaxで切り替わりません。
【コード】
likes/_like_item_button.html.erb
<% if current_user.already_liked?(@item) %> <%= link_to item_likes_path(@item), method: :delete, remote: true do %> <i class="fas fa-heart "></i> <% end %> <%= item.likes.count%> <% else %> <%= link_to item_likes_path(@item), method: :post, remote: true do %> <i class="far fa-heart "></i> <% end %> <%= item.likes.count%> <% end %>
create.js.erb
$("#like-button").html("<%= j(render partial: 'likes/like_item_button', locals: {item: @item}) %>");
destroy.js.erb
$("#like-button").html("<%= j(render partial: 'likes/like_item_button', locals: {item: @item}) %>");
likes_controller
class LikesController < ApplicationController before_action :authenticate_user! def create @item = Item.find_by(id:params[:item_id]) current_user.likes.create!(item_id: @item.id) end def destroy @item = Item.find_by(id:params[:item_id]) current_user.likes.find_by(item_id: @item.id).destroy! end end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/22 14:00
2020/09/23 02:28
2020/09/23 04:57