Удаление объектов через ajax в рельсах 3.1rc4 - PullRequest
0 голосов
/ 14 июня 2011

У меня есть приложение rails 3.1, и я не могу удалить свои изображения через ajax. мой код smaple

def destroy
  @photo = Photo.find(params[:id])
  @photo.destroy
  respond_to do |format|
    format.html { redirect_to(user_photos_path(current_user)) }
    format.js   { render :nothing => true }
  end
end

тогда, на мой взгляд, у меня есть

<%= link_to '(delete)', profile_photo_path(photo.profile, photo), :method => :delete if me %>

в моем приложении. У меня есть

$('.delete_post').bind('ajax:success', function() {
  $(this).closest('tr').fadeOut();
});

это не работает для меня. выполняет действие, но не исчезает

Ответы [ 2 ]

0 голосов
/ 17 ноября 2011

Это старый вопрос, но я просто хотел отметить, что использование ссылок на действия, которые изменяют или уничтожают ваши данные, кажется плохой практикой.

Вместо этого следует использовать to_button

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to

0 голосов
/ 14 июня 2011

В вашем ajax: success callback this не привязан к ссылке .delete_post, как вы ожидаете. Возможно, вы могли бы добавить идентификаторы к своим ссылкам, а затем в своем контроллере или шаблоне сгенерировать некоторый javascript, такой как $("#photo_17_delete").closest('tr').fadeOut();. Это всего лишь пример одного из способов справиться с этим.

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