2012-08-17 182 views
1

我在使用highcharts的rails應用程序上有紅寶石。Highcharts在Heroku上無法正常工作

本地它的作用就像一個魅力,但是當我把應用程序推到Heroku時,Highcharts停止工作,應該包含圖表的div標籤顯示爲空。 我甚至用Highcharts的其中一個例子(它只有硬編碼數據)對它進行了測試,但仍然沒有任何結果。

回答

4

想通了:問題在於資產的預編譯。原來,highcharts未預編譯

加了:

config.assets.precompile + = [ 'rollover.js', 'highcharts.js'] 到production.rb(ⅰ假設application.rb中應該工作還有)

佈局文件。

(因爲我希望所有的JavaScript文件獲取application.jss編譯我只有<%= javascript_include_tag 「應用程序」 %>在我的佈局文件)

2

聽起來像Highcharts沒有加載 - 或者是因爲它沒有被推送到Heroku或因爲它沒有被正確地服務。走到哪裏highcharts.js 應該是,看看你得到的JavaScript或404

如果可以達到沒有問題highcharts.js的URL,那麼問題很可能出在設置代碼。檢查並查看是否將相應的變量加載到頁面上(對正在測試的瀏覽器使用Web開發人員工具),以及加載頁面時是否顯示任何JavaScript錯誤。

+0

感謝Sean,highcharts.js不可用,但我認爲沒關係,因爲我預先編譯了資產,所以我只有「application.js」。可以預編譯導致這個問題? 我如何確保precomiple工作正常?我正在使用rake資源:預編譯來執行此操作。 在硬編碼數據的示例圖表無法正常工作後,我否決了與安裝相關的問題。我認爲你是對的,問題確實在js中沒有設置 – 2012-08-17 05:10:45

+0

Highcharts對jQuery有依賴性。您的預編譯是否處理這種依賴性? – 2012-08-17 05:15:29

+0

謝謝,結果發現Highcharts沒有正確預編譯。如果感興趣,請閱讀我的答案 – 2012-08-17 07:15:55

1

使用懶惰highcharts寶石。 Google搜索了一個小時沒有爲我工作。 最後,我從供應商目錄複製了highcharts.js並將其粘貼到資產。 中提琴!