我正在尝试使用AJAX删除:remote =>在我的link_to
上为true删除工作正常,获得200响应,当页面刷新时,项目不再存在。
[30 / Jul / 2014 11:26:57]“DELETE / credit_cards / 12198 HTTP / 1.1”200 - 0.2106
我需要它动态发生,当点击按钮时,列被删除。
我的观点,这位于app / views / spree / checkout / payment
.cc-expiration.two.columns.alpha.omega
%span.mobile-heading.em
= link_to (image_tag("icons/delete.png")),
spree.credit_card_url(card),
:remote => true, :method => :delete,
:confirm => 'Are you sure?',
:class => 'delete_card'
控制器:
def destroy
@card = Spree::CreditCard.find(params["id"])
@card.destroy
respond_to do |format|
format.html { redirect_to credit_cards_url }
format.json { head :no_content }
format.js { render :layout => false }
end
end
最后我的destroy.js.erb,位于app / views / spree / credit_cards
$('.delete_card').bind('ajax:success', function() {
$(this).closest('column').fadeOut();
});
非常感谢任何帮助,非常感谢你!
答案 0 :(得分:1)
由于您正在使用destroy.js.erb,因此视图文件由ajax响应返回,并按原样执行。因此,您不需要将任何内容绑定到ajax回调,只需执行代码:
// destroy.js.erb
$('.delete_card').closest('column').fadeOut();