Rails AJAX删除功能有效但在刷新之前不会自行删除

时间:2014-07-30 15:39:00

标签: javascript jquery ruby-on-rails ajax

我正在尝试使用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();
});

非常感谢任何帮助,非常感谢你!

1 个答案:

答案 0 :(得分:1)

由于您正在使用destroy.js.erb,因此视图文件由ajax响应返回,并按原样执行。因此,您不需要将任何内容绑定到ajax回调,只需执行代码:

// destroy.js.erb
$('.delete_card').closest('column').fadeOut();