Rails AJAX删除功能工作,但在刷新之前不会自行删除

Rails AJAX delete functionality working but not removing itself until refreshed

本文关键字:删除 刷新 功能 AJAX 工作 Rails      更新时间:2023-09-26

我试图删除使用AJAX与:remote => true在我的link_to

删除工作正常,得到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。动词,位于app/views/spree/credit_cards

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

任何帮助都将非常感激,非常感谢!

因为你使用的是destroy.js. js。其次,视图文件由ajax响应返回并执行。所以你不需要绑定任何ajax回调,只需要执行你的代码:

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