2013-10-26 51 views
0

當我運行部署到Heroku上的應用程序,我得到這個錯誤:Rails的 - 不能在Heroku上運行,因爲未編譯的資產的程序

ActionView::Template::Error ('fontawesome.less' wasn't found 

我試圖預編譯本地資產 - 這樣:

bundle exec rake assets:precompile 

結果:

... 
FATAL: database "myapp_production" does not exist 
... 

當我運行 - heroku run rake assets:precompile,結果是:

... 
'fontawesome.less' wasn't found 
... 

config/environments/production.rb的設置:

config.assets.compile = true 

是什麼原因導致這個問題?

非常感謝

回答

0

應先解決數據庫配置問題能夠在本地編譯資產。

編譯的資產將全部爲.css,而不是less

檢查config/application.rb,我舉例來說有這些線路有:

config.assets.paths << Rails.root.join("app", "assets", "flash") 
config.assets.precompile += [ 'print.css', 'resume.css', 'application.css', 'reset-min.css', 'lightbox.css', 'bootstrap.css', 'grid.css' ] 
config.assets.precompile += [ 'rails.js', 'application.js', 'bootstrap.js' ] 
config.assets.enabled = true 
config.assets.version = '1.0' 
0

你需要有不太軌寶石和文件的sufix是.css.less

gem 'less-rails'

如果您需要單獨的application.js文件,需要在environments/production.rb中添加預編譯數組,並且該文件的擴展名應該是「.css.less」

config.assets.precompile += %w(fontawesome.css)

並確保您已啓用環境/ production.rb中的static_assets選項

config.serve_static_assets = true

相關問題