【问题标题】:SweetAlert2 not working in RailsSweetAlert2 在 Rails 中不起作用
【发布时间】:2018-03-10 12:45:26
【问题描述】:

我正在使用 Rails 5.1.5 制作我的第一个简单的 CRUD 应用程序。我使用脚手架轻松生成了我的第一个表格。

然后,我找到了名为 sweet-alert2-rails 的 gem,以便在布局中获得一些乐趣。我按照自述文件中的说明进行操作,效果很好……但它没有任何功能。在安装 SweetAlert 之前,当我单击删除按钮时,选择的记录消失了。现在,无论我点击“确定”还是“取消”,记录都没有反应。

我试图找到一个解决方案,我希望this 会有所帮助。我将 JS 代码复制到 assets/javascripts/application.js,但我的网站没有反应。

对不起,如果这是一个微不足道的问题,但这是我进入 Rails 的第一步。

提前致谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5


    【解决方案1】:

    尝试以下操作,它对我有用,复制并粘贴此而不是 yours

    //Override the default confirm dialog by rails
    $.rails.allowAction = function(element){
        if( undefined === element.attr('data-confirm') ){
            return true;
        }
    
        $.rails.showConfirmDialog(element);
        return false;
    };
    
    //User click confirm button
    $.rails.confirmed = function(element){
        element.removeAttr('data-confirm');
        element.trigger('click.rails');
    };
    
    //Display the confirmation dialog
    $.rails.showConfirmDialog = function(element){
        var msg = element.data('confirm');
        alertify.confirm(msg, function(e){
            if(e){
                $.rails.confirmed(element);
                return true;
            }
        })
    };
    

    它应该可以工作

    【讨论】:

    • 我应该将它粘贴到 app/assets/javascripts/application.js 还是其他地方?粘贴到 application.js 不会改变任何东西 - 出现窗口,但确认弹出窗口不起作用。我还注意到我必须安装 'sweet-alert-confirm' gem - 没有这个警告窗口甚至不会显示。
    • 这在我手上工作,我不知道那里发生了什么,是的,它已粘贴到应用程序 js
    • dev.to/peterfication/… 它为我解决了这个问题。你必须在 rails_ujs 之前加载代码
    • @chell 你能在这里写下你的答案吗,你做了什么,那个链接上有很多混合,很难理解
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2014-07-05
    • 2018-01-30
    • 2011-09-28
    相关资源
    最近更新 更多