小编Rya*_*phy的帖子

Rails data-disable-with-re-enabled按钮

我有一个Rails Devise表单,它有javascript验证.当用户按下提交时,验证工作,用户重新聚焦在他们需要的表单上.

但是,rails使用data-disable-with在单击按钮后禁用该按钮,因此在验证后用户无法再单击提交.我试图设置某种监听器来检查按钮何时被禁用,等待一会儿以防止双击,然后重新启用按钮.

我尝试了很多代码迭代,我尝试的最新版本是:

      $(document.on("ajax:success", "new_supplier", function() {
      var button;

      button = $(this).find('.btn-sign-up');
      setTimeout((function() { return button.disabled=false; }),1);


      });
Run Code Online (Sandbox Code Playgroud)

但是没有成功,之前我尝试过只为按钮添加一个监听器:

      var button = document.getElementById('btn-sign-up');
      button.addEventListener("click", enableButton);

      function enableButton() {
          if (button.disabled)
          {
              window.setTimeout(enable(), 2000);
          }
      }


      function enable() {
          button.disabled=false;
      }
Run Code Online (Sandbox Code Playgroud)

但这失败了,因为它在禁用按钮的功能(隐藏在rails ether中)之前运行,因此无效.

我的提交按钮很简单:

    <%= f.submit "Create my account", class: 'btn-sign-up', id: 'btn-sign-up' %>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我从这里出去吗?我想如果我可以为这个可以工作的页面禁用jQuery_ujs,但不确定我是否可以这样做.

javascript jquery ruby-on-rails ujs

24
推荐指数
4
解决办法
2万
查看次数

由于DOTENV未初始化的常量错误,无法推送到Heroku

我正在努力将我的项目推向Heroku.我一直在使用:

    gem 'dotenv-rails', :groups => [:development, :test]
Run Code Online (Sandbox Code Playgroud)

因为我正在使用recpatcha,需要将我的密钥导出到开发中的应用程序.

当我尝试将代码推送到heroku时,我注意到以下错误消息:

    remote:  !     NameError: uninitialized constant Dotenv
Run Code Online (Sandbox Code Playgroud)

所以我在应用程序中注释掉了Dotenv gem和任何Dotenv变量.我跑了

    $ bundle exec rake -P
Run Code Online (Sandbox Code Playgroud)

然后再试一次.我仍然从Heroku得到同样的错误.我需要以某种方式重置我的gemfiles吗?

ruby-on-rails heroku recaptcha uninitialized-constant

3
推荐指数
1
解决办法
846
查看次数