2012-10-25 111 views
11

我想我的應用程序部署到的Heroku。 Heroku的不載入我JSCSS文件部署到Heroku的資產管道鏈輪:: fileNotFound

我跑RAILS_ENV=production bundle exec rake assets:precompile ,它仍然不能正常工作。

然後我跑 heroku rake assets:precompile

我得到這個錯誤在Heroku的日誌:

Error compiling asset application.css: 
Sprockets::FileNotFound: couldn't find file 'jquery.ui.datepicker' 
(in /app/app/assets/stylesheets/application.css.scss:13) 

Served asset /application-989f5e5266d9b066eb316183d7db5c77.css - 500 Internal Server Error 


Error compiling asset application.js: 
Sprockets::FileNotFound: couldn't find file 'jquery.ui.datepicker' 
(in /app/app/assets/javascripts/application.js:16) 
Served asset /application-d81c946c6f47242e5e97de9bca4938be.js - 500 Internal Server Error 

配置production.rb:

config.cache_classes = true 
    config.consider_all_requests_local  = false 
    config.action_controller.perform_caching = true 
    config.serve_static_assets = true 
    config.assets.compress = true 
    config.assets.compile = true 
    config.assets.initialize_on_precompile = false 

    config.assets.digest = true 

在資產 application.css.scss

*= require_self 
*= require bootstrap_and_overrides 
*= require jquery.ui.datepicker 
*= require bootstrap-timepicker 
*= require jquery.fileupload-ui 
*= require_tree . 
*/ 

的application.js

//= require jquery 
//= require jquery_ujs 
//= require twitter/bootstrap 
//= require jquery.ui.datepicker 
//= require bootstrap-timepicker 
//= require jquery-fileupload/basic 
//= require jquery-fileupload/vendor/tmpl 
//= require_tree . 

任何想法如何解決這一問題?在此先感謝您的幫助。

回答

20

我認爲問題已經與做資產沒有被預編譯。

在你的終端,如果你運行:

$ >>> rake assets:precompile 

然後盡你添加並提交:

$ >>> git add . 
$ >>> git commit -m 'Added precompiled assets for Heroku' 

假設你的遙控器叫做 「Heroku的」:

$ >>> git push heroku master 

它應該正確部署,而不必搞亂你的應用程序。

+0

由於Skrollr庫有類似的錯誤,並且這解決了問題。 –

0

路徑顯示搞砸/app/app/assets/javascripts/application.js/app兩次。這可能會導致問題。

+0

我會怎樣修復? – Benamir

+0

Rails應用程序的目錄結構是什麼?它實際上是否包含雙/應用程序嵌套?如果是這樣,請嘗試將嵌套/應用程序移回到項目的頂部。 – Mars

0

試試這個,然後按照您的application.js從源頭

步驟添加jquery-ui

//= require jquery 
//= require jquery-ui 

,然後嘗試

來源:https://github.com/joliss/jquery-ui-rails

+0

使用jquery-ui,當我捆綁exec rake資源時:預編譯它會給我:rake中止! 找不到文件'jquery-ui.all'我如何獲取您提到的github頁面? – Benamir

+0

你安裝了'jquery-ui-rails'寶石嗎? –

+0

嗯,heroku總是說使用jquery-ui-rails(2.0.2)。但我沒有再次安裝jquery-ui-rails,然後重新編譯,最終運行。不知道爲什麼會發生這種情況。 – Benamir

0

如果耙預編譯的資產不爲任何人工作,我與一位同行的程序員的工作,問他(他固定它在我們的項目,不是我,我被難住了。)

他不是一個以英語爲母語揚聲器,但這裏去:

「我分析了,導致你失敗​​的時刻是在預編譯文件jquery-ui-datepicker沒有找到時,推向Heroku錯誤,是由於鏈輪調用js和更改css for jquery ui 4.0.12版本,最新的rails 5.0.0,現在我已經通過Gemfile中的固定版本修復了,並且替換了js和css中的調用。「

你瞧這之後的工作

0
  1. 首先清潔和預編譯的資產

    $耙資產:清潔
    $耙資產:預編譯

  2. 更新知識庫

    $ git的添加-A
    $ git的承諾-m 「消息」

  3. 推到Heroku的

    $混帳推的Heroku

相關問題