2016-04-15 7 views
0

Setzen Sie meine acts_as_votable, jetzt die upvote und downvote Tasten funktionieren ordnungsgemäß, aber ich möchte der Benutzer seine upvote auf einen zweiten Klick wie auf Facebook und Twitter entfernen. Hier ist mein ControllerWie füge ich die Fähigkeit hinzu, Upvote oder Downvote beim zweiten Klick zu entfernen?

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

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

und der Index

<%= 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 %> 

Wie kann ich das erreichen?

Antwort

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 %> 
+0

hat nicht funktioniert wie zuvor –

+0

Versuchen Sie jetzt, ich habe Update. –

+0

immer noch nicht funktioniert, ist die Schaltfläche "upvote" jetzt weg und der Downvote funktioniert nicht –