2015-10-20 61 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

谢谢你,这是我搜索的方式:) –