2015-10-20 110 views
1

紅寶石當我想要使用此代碼從系統中刪除用戶:非刪除操作確認對話框,在軌道上

<%= link_to fa_icon("minus-square", text: t('systems.delete')), doctor_path(doctor[:id]), method: :delete, data: { confirm: t('systems.confirm_delete') } %> 

它說

你確定你想刪除這個?

這工作完美:)。

但是當我點擊完成按鈕,這是不是刪除,消息不會出現,但如果我點擊完成按鈕雙重,它的工作。 在這裏我的問題是,我怎麼才能啓用時,完成按鈕按下,我想看到消息,如「你確定嗎?」

<%= f.submit t('finish'), class: "btn red button-next", id:"bitir_button", data: { confirm: "Süreci bitirmek istediğinize emin misiniz?" } 

-

$.rails.confirm = function(message, element) 
    { 

    var state = element.data('state'); 
    var txt = element.text(); 
    if (!state) 
    { 
     element.data('state', 'last'); 
     element.text('Are You Sure you want to delete this?'); 
     setTimeout(function() 
     { 
      element.data('state', null); 
      element.text(txt); 
     }, 10000); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
    }; 

    $.rails.allowAction = function(element) 
    { 
    var message = element.data('confirm'), 
     answer = false, callback; 
    if (!message) { return true; } 

    if ($.rails.fire(element, 'confirm')) 
    { 
     // le extension. 
     answer = $.rails.confirm(message, element); 
     callback = $.rails.fire(element, 'confirm:complete', [answer]); 
    } 
    return answer && callback; 
    }; 

    $.rails.handleLink = function(link) 
    { 
    if (link.data('remote') !== undefined) 
    { 
     $.rails.handleRemote(link); 
    } 
    else if (link.data('method')) 
    { 
     $.rails.handleMethod(link); 
    } 

    return false; 
    }; 
+0

什麼版本的Rails是這個? Rails 4+默認包含'jquery_ujs',它將處理數據確認對話框。 – max

+0

我使用Rails 4.2.2。作爲默認的數據確認存在,但我不想使用。我試過這個類似的寶石。我仍然使用數據確認來使用它。 –

+0

你爲什麼不想用? –

回答

1

添加bootbox-rails到你的Gemfile。

gem "twitter-bootstrap-rails" 
gem 'bootbox-rails' 

覆蓋導軌確認處理程序。

$.rails.confirm = function(message){ 
    return window.bootbox.confirm("Are you sure?", function(result) { 
    return result; 
    }); 
} 
+0

當我測試這個單擊對話框中的取消按鈕不起作用 - 不知道它是自舉還是引導箱中的錯誤。其他選項(x,esc或外部點擊)確實有效。 – max

+0

謝謝你,這是我搜索的方式:) –