我有一个rails 3.1应用程序,我似乎无法通过ajax删除我的图像。我的代码是
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 %>
在我的application.js中我有
$('.delete_post').bind('ajax:success', function() {
$(this).closest('tr').fadeOut();
});
它对我不起作用。它执行动作但不淡出
答案 0 :(得分:0)
在你的ajax中:成功回调this
没有像你期望的那样绑定到.delete_post链接。也许你可以在你的链接中添加ID,然后在你的控制器或模板中生成一些像$("#photo_17_delete").closest('tr').fadeOut();
这样的javascript。这只是处理它的一种方法的一个例子。
答案 1 :(得分:0)
这是一个老问题,但我只想指出,使用链接来修改或破坏您的数据似乎是一种不好的做法。
您应该使用to_button
http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to