簡體   English   中英

Rails actions_as_votable ajax按鈕喜歡所有帖子

[英]Rails acts_as_votable ajax button is liking all posts

我的Ajax遇到了一個怪異的錯誤,其中對視圖中的所有帖子都激活了like按鈕。 在此功能的第一次迭代中,我從未遇到過這個問題。 它是一個簡單的類似兩種狀態的按鈕,如果當前用戶不喜歡該帖子,則該按鈕將用空的心隱藏填充的心。 我的代碼寫在下面。 對於按鈕本身,我使用的是簡單的CSS類/ png背景url。

stories_controller.rb

def like
    @story = Story.friendly.find(params[:id])
    if !current_user.liked? @story
      @story.liked_by current_user
    elsif current_user.liked? @story
      @story.unliked_by current_user
    end

    respond_to do |format|
      format.js {render :nothing => true }
    end
  end

故事\\ like.js.erb

<% if current_user.liked? @story %>
$('#like-story-id').removeClass('story-heart-btn').addClass('story-heart-btn-active');
<% else %>
$('#like-story-id').addClass('story-heart-btn-inactive');
<% end %>
$('.likes-story-count').html("<%= @story.get_upvotes.size %>");

_story.html.erb

<ul id="left-story-footer-list">
        <li class="story-votes" id="#story_<%= story.id %>">
          <%= link_to like_story_path(story), style: 'text-decoration: none', class: 'like-story-btn', method: :put, remote: true do %>
            <div class="story-heart-btn" id="like-story-id"></div>
          <% end %>
        </li>
        <li><p class="story-card-text-format likes-story-count"><%= number_with_delimiter(story.get_likes.size) %></p></li>

      </ul>

的routes.rb

resources :stories do
    member do
      put 'like', to: 'stories#like'
      get 'like', to: 'stories#like'
    end
  end

這個like-story-id是否在ul內部也應該是唯一的?

<div class="story-heart-btn" id="like-story-id"></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM