[英]Stylesheets, images and javascript are not loading on heroku server in rails4
您好,我的gemfile中包含以下內容
group :production, :staging do
gem 'rails_12factor'
end
和我的樣式表中,我將圖像包括為mytest.css.scss
.abc{background: image-url('/assets/mobile/phone.png');}
在production.rb中
config.serve_static_assets = true
config.assets.compile = true
在herokurun bash中,我有rake資產:也可以預編譯,但仍然不加載圖像,樣式表和javascript。 請指導我如何解決這個問題
嘗試以下方法之一:
background-image: image-url("logo.png")
background-image: asset-url("logo.png", image)
background-image: asset-url($asset, $asset-type)
background-image: asset-data-url("logo.png")
有時,Heroku需要花費一些時間來識別新資產-我們發現,如果在預編譯后重新啟動dyno,通常會在刷新時加載它們: heroku restart
您應該將其與引用的動態助手一起使用(按照sadaf2605
的回答:
#app/assets/stylesheets/application.js
.element {
background: asset_url("your_image_url.png");
}
您需要做的另一件事是針對production
進行預編譯-
rake assets:precompile RAILS_ENV=production
調試
很難知道問題出在哪里; 我們調試的主要方法如下:
right-click
您的應用並view source
console
,您可能會看到一系列404
( resource not found
)錯誤。 如果應用程序正在尋找指紋文件,則表明它是一個好兆頭(表示您的文件不正確)。 要解決此問題,您應該在發送給Heroku 之前進行預編譯:
$ rake assets:precompile RAILS_ENV=production
$ git add .
$ git commit -a -m "Fix"
$ git push heroku master
這會將正確的文件發送到Heroku。
如果您的應用程序不查找指紋文件,則意味着您必須在CSS中正確引用它們。 我想您已經知道了(上面寫的)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.