在我的應用程序中,我使用bootstrap主題(gentelella),並且在我的一個頁面中我有一個Moris圖,它在開發evnroment中非常完美,但是在生產中(heroku)不工作。Rails 5,JavaScript沒有在生產中加載
在控制檯中的錯誤是: **未捕獲的ReferenceError:莫里斯沒有定義 **
它看起來像的js爲Moris的圖表(該腳本被包括在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 .
莫里斯腳本在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' %>
你需要顯示更多的源代碼。當我們需要查看包含/導入Morris,您的視圖/部分,application.js等等時,您只顯示實際調用Morris的位置。 –
好的,我會更新我的問題。 –
在正在加載的資產內搜索「Morris」。這將幫助您調試。 – bitsapien