簡體   English   中英

Rails 4.1.4自定義確認警報

[英]Rails 4.1.4 Custom Confirmation Alert

我在我的應用程序中使用Rails 4.1.4 我有一個刪除方法的鏈接,該方法具有data-confirm屬性,因此在繼續操作之前會出現一個確認對話框。

<%= link_to t(:delete_account), delete_account_path, method: :delete, class: "btn btn-danger btn-sm", data: { confirm: t(:delete_account_confirmation_text) } %>

出現的確認對話框是瀏覽器的默認值。 我如何自定義這個以使用Bootstrap模式?

問候!!!。

使用一些自定義coffeescript,如:

$ ->
  $.rails.allowAction = (link) ->
    return true unless link.attr('data-confirm')
    $.rails.showConfirmDialog(link) 
    false 

  $.rails.confirmed = (link) ->
    link.removeAttr('data-confirm')
    link.trigger('click.rails')

  $.rails.showConfirmDialog = (link) ->
    message = link.attr 'data-confirm'
    html = """
           <div class="modal" id="confirmationDialog">
             <div class="modal-dialog">
               <div class="modal-content">
                 <div class="modal-header">
                   <a class="close" data-dismiss="modal">×</a>
                   <h1>#{message}</h1>
                 </div>
                 <div class="modal-footer">
                   <a data-dismiss="modal" class="btn">#{link.data('cancel')}</a>
                   <a data-dismiss="modal" class="btn btn-primary confirm">#{link.data('ok')}</a>
                 </div>
               </div>
             </div>
           </div>
           """
    $(html).modal()
    $('#confirmationDialog .confirm').on 'click', -> $.rails.confirmed(link)

這也可以立即翻譯你的確定和取消按鈕,比如

data: { confirm: t('messages.confirm_delete'), ok: t('buttons.ok'), cancel: t('buttons.cancel')

如果您不想總是重復此操作,請使用一些幫助程序來創建自定義“刪除鏈接”!

您可以嘗試使用gem(data-confirm-modal)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM