Rails: формат JS не выбирается data-remote - PullRequest
0 голосов
/ 24 февраля 2012

JS не принимается удаленным устройством каждой ссылки. Я пытаюсь создать одну кнопку, которая делает голосование и отмену голосования, как старая кнопка голосования на digg.com. В настоящее время из-за того, что JS не поднимается, у меня есть две кнопки для голосования и отмены голосования, и я хотел бы объединить их. Я не уверен, почему 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}"%>');
$("#vote-<%=@micropost.id%>").html('<a href="/microposts/<%=@micropost.id%>/unvote" data-remote="true" class="CounterButton b2 <%=@micropost.id%>"></a>');

unvote.js

$("#<%=@micropost.id%>").html('<%="#{@micropost.votes_for}"%>');
$("#unvote-<%=@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 id='vote-<%=micropost.id %>'>
<a href="/microposts/<%=micropost.id %>/vote_up" data-remote='true' class='CounterButton b2'>
<span class='CounterIcon'></span>
</a>
</div>
<div id='unvote-<%=micropost.id %>'>
<a href="/microposts/<%=micropost.id %>/unvote" data-remote='true'class='CounterButton b2'>
<span class='CounterIcon'></span>
</a>
</div>
</div>

1 Ответ

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

Попробуйте объединить все ваши вызовы на javascript_include_tag в один вызов и также включить jquery_ujs:

javascript_include_tag :jquery, :jquery_ujs, :modal, :basic_js, 'http://www.google.com/jsapi

Хотя, поскольку вы находитесь на Rails 3.2, вам действительноиспользовать преимущества конвейера активов, о котором вы можете прочитать подробнее здесь:

http://guides.rubyonrails.org/asset_pipeline.html

Ваш application.js будет выглядеть примерно так:

//= require jquery
//= require jquery_ujs
//= require_tree .

И тогда вы просто сделаете:

javascript_include_tag :application

Но попробуйте сначала другой метод.

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