У меня такая же проблема как этот вопрос Ajax callbacks not working with Rails 3.0.5 and jQuery 1.5.1. Я не понимаю ответа на него, но. Я нашел причину проблемы, но не уверен, почему это так и как ее решить. Я использую Kaminari gem.Ajax Перезвонить Не отвечает
Пожалуйста, помогите мне.
В моей ВЗГЛЯД:
<div id="paginator">
<%= paginate @user, params: {id: nil, pgsz: 20}, remote: true %>
</div>
В моей контроллер:
@user = Kaminari.paginate_array(@properties, total_count: @search_result.total_count).page(@pg).per(@pgsz)
respond_to do |format|
format.js
format.html
end
В МОЕЙ Show.js.erb
$('#list').html("<%=j (render 'search_result_list') %>");
$('#paginator').html("<%=j (paginate(@user, params: {id: nil, pgsz: 20}, remote: true).to_s) %>");
В моей другой JS файл, в котором я контролировать Аякс
$('#paginator')
.on("ajax:send", function() {
// Run a spinner
console.log("=====BEfore SEND");
})
.on("ajax:complete", function (e, data, status, xhr) {
// Stop the spinner
console.log("=====Afte SEND");
})
Так я понял, что $('#paginator').html("<%=j (paginate(@user, params: {id: nil, pgsz: 20}, remote: true).to_s) %>");
эта линия вызывает не обратный вызов для любого ajax:successs or ajax:complete
. Но если я меняю $('#paginator').html
на$('#paginator').append
обратный вызов случается, но его не то, что мне нужно.
UPDATE:
Просто обнаружил, что его не только $('#paginator').html("<%=j (paginate(@user, params: {id: nil, pgsz: 20}, remote: true).to_s) %>");
, которая вызывает, но если я просто изменить его $('#paginator').html("Hey");
также не вызывает функцию обратного вызова.
Любая идея, почему это происходит?