【问题标题】:Rails 5, javascript is not loaded in productionRails 5,生产中未加载javascript
【发布时间】:2017-07-03 21:10:56
【问题描述】:

在我的应用程序中,我使用引导主题 (gentelella),在我的一个页面中,我有一个 Moris 图,它在开发环境中完美运行,但在生产环境中 (heroku) 不起作用。

控制台中的错误如下: **未捕获的 ReferenceError:未定义 Morris **

看起来 Moris 图的 js(脚本包含在 gentelella 中)没有加载,但其他一切正常。

我的图表代码:

   <div id="graph_line"></div>
   <script type="text/javascript">
   new Morris.Line({
      element: 'graph_line',
      data: [
      {Date: 'mydate1', y: myvalue1},
      {Date: 'mydate2', y: myvalue2},
      {Date: 'mydate3', y: myvalue3}
      ],
      xkey: 'Date',
      ykeys: ['y'],
      labels: ['Y'],
      hideHover: 'auto',
      lineColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
      resize: true
    });
   </script>

我没有包含任何 Moris.js,因为它已经包含在我的主题中。

我不明白为什么它在本地运行良好而不是在生产环境中运行良好。

经过一番研究,我在production.rb中添加了这一行:

 config.assets.debug = true

在heroku日志中我有错误:

资产“application.css”不在资产管道中 并且应用程序没有运行,但它在没有上述行的情况下运行。

知道为什么我的图表无法在生产环境中运行以及为什么 heroku 看不到我的 application.css

P.S 在我的资产中我有 application.scss 而不是 application.css 这会导致问题吗?但我需要文件是 .scss

我的 application.js:

   //= require jquery
   //= require jquery.turbolinks
   //= require jquery_ujs
   //= require jquery.remotipart
   //= require pnotify
   //= require unobtrusive_flash
   //= require flashes
   //= require gentelella
   //= require gentelella-custom
   //= require_tree .

morris 脚本在 gentella-custom.js 中初始化 (init_morris_charts();)

还有我的 application.html.erb

  <%= csrf_meta_tags %>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

【问题讨论】:

  • 你需要展示更多的源代码。当我们需要查看您在哪里包含/导入Morris、您的视图/部分、application.js 等时,您只会显示您实际调用Morris 的位置。
  • 好的,我会更新我的问题。
  • 在正在加载的资产中搜索Morris。这将帮助您调试。

标签: javascript ruby-on-rails twitter-bootstrap heroku


【解决方案1】:

更新您的代码以获得调试器参考: &lt;%= debugger; %&gt; 在行前加上:new Morris.Line({,然后打开您喜欢的浏览器,切换到调试器窗口,您将在那里有一个断点。 这将帮助您查看当时是否加载了 Morris。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 2016-11-07
    • 2013-09-13
    相关资源
    最近更新 更多