Rails: две разные функции Ajax не работают вместе на одной кнопке - PullRequest
1 голос
/ 29 февраля 2012

Создана система комментариев, которая показывает / скрывает файл JS, но в то же время эта система комментариев управляется той же кнопкой, которая используется в качестве счетчика просмотров.Оба запускаются двумя разными Ajax-файлами, но оба не будут работать без другого.Любая помощь будет высоко ценится!Спасибо!

РЕДАКТИРОВАТЬ HTML не использует @micropost и не использует micropost, потому что @micropost определен в другом фрагменте.Для тех, кто знаком с Rails Tutorial Майкла Хартла, я сделал этот микросообщение с его кодом и учениями.Я знаю, что это все испортит для ajax, который возвращает @micropost вместо micropost, но это не позволит мне не вставить @ в файл ajax, поэтому я потерян

Кнопка комментария HTML

<span class='count-<%= micropost.id%>'>
<a href="/microposts/<%=micropost.id %>/upview" data-remote='true' class='CommentTitle' data-micropost='<%= micropost.id %>'>Comments</a>
</span>

Комментарий Ajax для изменения счетчика

$("#count-<%=@micropost.id%>").html('<%="#{@micropost.view_count}"%>');
$(".count-<%=@micropost.id%>").html('<a href="/microposts/<%=@micropost.id%>/upview" data-remote="true" class="CommentTitle" data-micropost="<%= @micropost.id %>">Comments</a>');

Кнопка прокрутки слайд-комментария JS

$(".CommentTitle").click(function(){
var title = this;
var postID = $(this).data('micropost');
$("#CommentContainer-" + postID).slideToggle("slow", function(){ 
$(".CommentTitle", title).html($(this).is(":hidden") ? "Comments" : "Comments");  
}); 
});

1 Ответ

1 голос
/ 01 марта 2012

Предположение: когда пользователь щелкает ссылку в html, он отправляет запрос на ваше действие upview внутри вашего MicropostsController.

Внутри этого метода действия контроллера вы можете назначить переменную экземпляра ...

@this_micropost = Micropost.find(params[:id]) # assuming you're RESTful, which it looks like

тогда внутри вашего upview.js.erb вы можете использовать эту переменную экземпляра для чего угодно.

Надеюсь, это поможет!

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