почему-то голоса подсчитываются дважды каждый раз, когда пользователь голосует. Я не могу определить, где ошибка. См. Скриншот для подсчета дубликатов Кажется, я запускаю двойные запросы jquery, но я не знаю, какие из них удалить. rails-jquery gem или jquery в приложении. js
show.html.erb
<div class="like">
<%= link_to like_list_path(@list), :class => "like-btn", method:
:put, remote: :true do %>
<%= liked_list(@list) %>
<% end %>
<%= link_to "", "data-toggle" => "modal", "data-target" => "#likeModalLong" do %>
<span class="likes-count"><%= @list.get_upvotes.size %></span>
<% end %>
</div>
lists_controller.rb
def vote
if !current_user.liked? @list
@list.liked_by current_user
#create like notification for the user
Notification.create(recipient: @list.user, actor: current_user,
action: "liked", notifiable: @list)
elsif current_user.liked? @list
@list.unliked_by current_user
end
end
vote.js.erb
<% if current_user.liked? @list %>
$('.fa-heart').addClass('liked');
<% else %>
$('.fa-heart').removeClass('liked');
<% end %>
$('.likes-count').html("<%= @list.get_upvotes.size %>")
application_helper.rb
module ApplicationHelper
def liked_list(list)
if current_user.username == "guestuser"
liked = ''
else
liked = current_user.liked?(list) ? 'liked' : ''
end
content_tag(:i, '', class: "fa fa-heart #{liked}")
end
end
ОБНОВЛЕНИЕ: не уверен, какой удалить
**application.js**
//= require jquery3
//= require jquery_ujs
//= require rails-ujs
//= require cocoon
//= require popper
//= require bootstrap-sprockets
//= require social-share-button
//= require_tree .
Gemfile
gem 'jbuilder', '~> 2.0'
gem 'pg', '~> 0.21'
gem 'puma'
gem 'rails', '5.2.0'
gem 'redis'
gem 'cocoon'
gem 'autoprefixer-rails'
gem 'font-awesome-sass', '~> 5.0.9'
gem 'sass-rails'
gem 'simple_form'
gem 'uglifier'
gem 'webpacker'
gem 'bootstrap', '~> 4.1', '>= 4.1.1'
gem 'jquery-rails'
gem 'searchkick'
gem 'turbolinks'
gem 'cloudinary'
gem 'carrierwave', '~> 1.2'
gem 'acts_as_follower', github: 'tcocca/acts_as_follower', branch: 'master'
gem 'public_activity'
gem 'link_thumbnailer'
gem 'acts_as_votable', '~> 0.11.1'