0

设置我的acts_as_votable,现在upvote 和downvote 按钮可以正常工作,但我希望用户在第二次点击时删除他的upvote,就像在facebook 和twitter 中一样。这是我的控制器

 def upvote
      @post = Post.find
      @post.downvote_by current_user
  end

  def downvote
  @post = Post.find(params[:id])
  @post.downvote_by current_user
  end

和索引

<%= link_to like_post_path(post), method: :put, class: 'upvote', remote: true  do %>
                    Upvote
                    <%= post.get_upvotes.size %>
                <% end %>

                <%= link_to dislike_post_path(post), method: :put, class: 'downvote', remote: true  do %>
                    Downvote
                    <%= post.get_downvotes.size %>
                <% end %>

我怎样才能做到这一点?

4

1 回答 1

0
<% unless post.liked_by current_user %>
<%= link_to like_post_path(post), method: :put, class: 'upvote', remote: true  do %>
     Upvote
     <%= post.get_upvotes.size %>
<% end %>
<% end %>

<% if post.liked_by current_user %>    
<%= link_to dislike_post_path(post), method: :put, class: 'downvote', remote: true  do %>
  Downvote
  <%= post.get_downvotes.size %>
<% end %>
<% end %>
于 2016-04-15T09:28:32.650 回答