在我的应用程序中,我使用了引导主题(gentelella),在我的一个页面中,我有一个Moris图,它在开发过程中非常完美,但是在生产中(Heroku)不起作用。
控制台中的错误如下:**未定义的ReferenceError:未定义莫里斯**
看起来,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脚本在gentellela-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' %>发布于 2017-07-04 16:54:30
将代码更新为具有调试器引用:<%= debugger; %>,在行前面有:new Morris.Line({,然后打开您最喜欢的浏览器,切换到调试器窗口,您将在其中有一个断点。这将帮助你看莫里斯是否在那个时间点装货。
https://stackoverflow.com/questions/44893905
复制相似问题