Tôi đang cố gắng để thực hiện một hành động tiết kiệm thông qua AJAX sử dụng link_to
:Rails link_to: Làm điều gì đó sau khi xác nhận
<%= link_to 'Save', image_path(image), method: :patch,
data:{ confirm: 'Save image?', remote: true } %>
Tôi muốn liên kết để được thay thế bằng <span>Saving...</span>
trên xác nhận, nhưng không thể tìm ra một cách sạch sẽ để làm điều đó.
Vấn đề với các giải pháp hiện có:
disable_with:
Nếu tôi thêm :disable_with => '<span>Saving...</span>'
HTML bên trong của liên kết sẽ được thay thế thay vì liên kết riêng của mình. Không muốn điều đó.
onclick:
Nếu tôi thêm :onclick => "$(this).replaceWith('<span>Saving...</span>');"
liên kết sẽ được thay thế ngay lập tức, ngay cả khi người dùng hủy bỏ xác nhận
Có một giải pháp phù hợp với Rails 3 UJS thực hành tốt nhất?
Lưu ý rằng trình xử lý thành công không bao giờ được gọi - vì bạn đã thay thế '$ (this)' ràng buộc bị hủy ... – Yarin