javascript - 单个 Javascript 函数无法在 Heroku 上运行

标签 javascript jquery ruby-on-rails heroku asset-pipeline

我刚刚将一个 Rails 应用程序部署到 Heroku,发现只有一个 javascript 函数。函数 officerCheck() 位于其自己的文件 officerCheck.js 中。并由初始化文件 init.js 使用 officerCheck 行调用。

函数如下;日志的第一个输出甚至没有显示

function officerCheck(){
    console.log("officer check in");
    var change=0;
    $('#toggle-two-wrapper').on('change', function(){
        if(change===0){
        checking();
        }else{
            change=0;
        }
    });
    function checking(){
        var alert=0;
        var existingRoles=[];
        neededRoles=["President", "Secretary", "Treasurer"];
        $("select.officer_role").each(function(i,e){
            existingRoles[i]=$(e).val();
            console.log("existing Roles "+existingRoles[i]);
        });
        $(neededRoles).each(function(i,e){
            if($.inArray(e,existingRoles)==-1){
                alert=1;
                $('div#final-submission').prepend("<span class='warning' style='display:block'>"+e+" needed.</span>");
                $("span.warning").delay(9000).slideUp("medium");
            }
        });
        console.log("alert equals "+alert);
        if(alert==1){
            console.log("we're in");
            change=1;
            $('div.incorporation_submit #toggle-two').bootstrapToggle('off');
        }
    }
}

以下是我迄今为止调查过的内容的列表:

  • 所有其他 JavaScript 函数都可以工作(包括由 init.js 调用的函数)
  • 函数 officerCheck 确实可以在我的本地主机上运行,​​并且 heroku 已与该机器保持同步。
  • 当我浏览 heroku 托管的网站时,函数 officerCheck 及其各自的调用确实由浏览器加载。 (我可以在 firebug 的脚本选项卡中看到两者)。
  • 如果我将函数的内容剪切并粘贴到 Firebug 中,它们仍然有效。 (让我相信 Heroku 只是不喜欢我调用该函数的方式)
  • 使用 officerCheck(); 从 firebug 调用该函数不起作用。
  • 但是,将函数整个加载到 firebug 中并使用 officerCheck(); 调用它确实有效。

我猜我有些草率,Heroku 无法容忍。欢迎任何想法或建议。

最佳答案

在 Heroku 上运行的 Rails 应用程序可能需要一些工作才能让 Assets 管道为自定义脚本提供服务。

您可以将脚本移至 application.js 并检查它是否从那里运行。

如果您想将脚本保留在原处,请参阅 Rails javascript asset missing after precompile

关于javascript - 单个 Javascript 函数无法在 Heroku 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599266/

相关文章:

ruby-on-rails - 如何优雅地处理 NilClass

ruby-on-rails - 使用 Git 和 Heroku 进行适当的持续集成和持续部署

javascript - 与 ember js 一起使用时如何为 typeahead 指定预编译模板?

javascript - 隐藏网页 URL 直至登录成功

单击按钮时 JavaScript 显示错误

javascript - 在 Bootstrap 工具提示中显示欧芹错误

javascript - jQuery-UI slider 不显示

javascript - 如何使用 jquery 获取我正在单击的 html 标签?

javascript - 我应该让我的网页在我自己的服务器上或从 code.jquery.com 引用 jquery.js 的副本吗?

ruby-on-rails - 如何使用 Underscore.js 和 HAML 插入 if/else 语句?