rails 点击我的赞按钮时更改它的背景:

rails change the background of my like button when clicks on it :

我正处于 rails 应用程序 (instagram-clone) 的最后一步,问题是当我点击心脏徽标时,点赞数从 0 升级到 1,但是,我当我点击它时找不到将我的徽标的背景颜色更改为“红色”的解决方案,this is my logo image

这是我的 vote.js.erb:


<% if current_user.liked? @post %>
    $(".like-button").addClass("liked");
<% else %>
    $(".like-button").removeClass("like-button");
<% end %>
$(".likes-count").html(" <%= @post.get_upvotes.size%> ")

#i want to modify this lines to change the background color of my heart logo to red when the count of likes was upgraded from 0 to 1 and thanks a lot

这是我的点赞按钮代码行:

<%= link_to like_post_path(post),  class:"like-button", method: :put, remote: :true do %>
    <div>
      <i class="fas fa-heart fa-2x"></i>
    </div>
    <% end %>
<span class="likes-count"><%= post.get_upvotes.size %></span>

好的,这是您的选择。 可能有很多 stories/photos 您可能正在查看和滚动列表。

下面是适合这种情况的修复方法。

vote.js.erb中的一些变化:

<% if current_user.liked? @post %>
    $(".like-button-<%= @post.id %> .fas").addClass("liked");
<% else %>
    $(".like-button-<%= @post.id %> .fas").removeClass("liked");
<% end %>

$(".likes-count").html(" <%= @post.get_upvotes.size%> ")

当你使用图标时,在样式中的某处添加 css 类似于下面。

  .liked {
    color: red;
  }

您的 html 按钮有一些变化

<%= link_to like_post_path(post),  class: "like-button-#{post.id}", method: :put, remote: :true do %>
    <div>
      <i class="fas fa-heart fa-2x <%= 'liked' if current_user.liked?(post) %>"></i>
    </div>
<% end %>