2016-04-15 11 views
0

私のacts_as_votableを設定すると、upvoteとdownvoteのボタンが正しく動作するようになりましたが、facebookやtwitterのように2回目のクリックでupvoteを削除したいとします。 はここにどのように私はそれを達成することができ、私のコントローラ2回目のクリックでupvoteまたはdownvoteを削除する機能を追加するには?

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

ですか?

答えて

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

は以前と同じように動作しませんでした –

+0

今すぐお試しください。 –

+0

がまだ動作していない場合、upvoteボタンが消え、downvoteが機能しません –

関連する問題