Я пытаюсь запустить обратный вызов ajax: success для удаленной ссылки. Я использую Rails 3.0.8 и jquery-rails 1.0.11. Я запустил генератор jquery, чтобы установить javascripts. И jquery, и jquery_ujs включены в мои настройки по умолчанию, и я могу убедиться, что они включены на страницу.
Вот мой javascript:
jQuery(function($) {
$("#deactivate")
.bind("ajax:success", function() {
alert("HELLO");
})
.bind("ajax:error", function() {
alert("GOODBYE");
}
);
});
Ссылка:
= link_to 'Deactivate', activate_patient_path(patient), :id => 'deactivate', :class => "button button-red", :remote => true
Действие активации:
def activate
patient = Patient.find(params[:id])
patient.do_not_call = !patient.do_not_call
if patient.save
render :nothing => true
else
render :status => 500, :nothing => true
end
end
Кажется, вызов ajax работает нормально. Действие запускается, и я вижу изменения в базе данных. Однако обратные вызовы ajax не запускаются. Я не могу заставить их работать. Я могу заставить другие события, такие как click, работать безупречно.
Если я отлаживаю rails_ujs в Firebug, я вижу, что следующий код запускается из блока ajax Rails:
success: function(data, status, xhr) {
element.trigger('ajax:success', [data, status, xhr]);
}
Я в тупике. Есть идеи?