Rails: проблема Jquery с подключением к голосованию - PullRequest
0 голосов
/ 23 февраля 2012

Я только что успешно создал систему голосования и хотел бы, чтобы одна кнопка выполняла голосование вверх и вниз вместо двух кнопок. Я пытаюсь обойти файл js для этого, но я все еще вижу две кнопки, какие-либо предложения? Спасибо.

Контроллер микросообщений

class MicropostsController < ApplicationController 
  def vote_up
    @micropost = Micropost.find(params[:id])
    current_user.vote_exclusively_for(@micropost)
    respond_to do |format|
      format.html { redirect_to :back }
      format.js
      end
  end

   def unvote
    @micropost = Micropost.find(params[:id])
    current_user.vote_exclusively_against(@micropost)
    respond_to do |format|
      format.html { redirect_to :back }
      format.js
      end
  end
end

JS Files

* vote_up.js *

$("#<%=micropost.id%>").html('<%= "#{micropost.votes_for}" %>');
$(".<%=micropost.id%>").html('<a href="/microposts/<%= micropost.id%>/unvote" data-remote="true" class="SquekCounterButton b2 <%= micropost.id%>"><span class="SquekCounterIcon <%= micropost.id%>"></span></a>');

unvote.js

$("#<%=micropost.id%>").html('<%= "#{micropost.votes_for}" %>');
$(".<%=micropost.id%>").html('<a href="/microposts/<%= micropost.id%>/vote_up" data-remote="true" class="CounterButton b2 <%= micropost.id%>"><span class="CounterIcon <%= micropost.id%>"></span></a>');

Микросообщение HTML

<div class='Counter'>
<span class='CounterNum'><span id='<%= micropost.id%>'><%=micropost.votes_for %></span></span>
<div class='<%=micropost.id %>'>
<a href="/microposts/<%=micropost.id %>/vote_up" data-remote='true' class='CounterButton b2'>
<span class='CounterIcon'></span>
</a>
</div>
<div class='<%=micropost.id %>'>
<a href="/microposts/<%=micropost.id %>/unvote" data-remote='true'class='CounterButton b2'>
<span class='CounterIcon'></span>
</a>
</div>
</div>

1 Ответ

1 голос
/ 23 февраля 2012

Другой подход:

Создайте только одно действие: «toggle_vote» вместо «voice_up», «voice_down».Первый вызов «toggle_vote» будет «voice_up», второй вызов «voice_down» и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...