2013-04-18 45 views
11

在我的本地機器上,當我查看我的Rails應用程序時,我的樣式表已成功鏈接到/assets/stylesheets/,但是在Heroku上,它更改爲/stylesheets/,推測在public目錄中,並且不起作用!如何讓我的樣式表在編譯時移至public/stylesheetsHeroku上的Rails樣式表

編輯:

文件目錄後rake assets:precompile

app 
    assets 
    stylesheets 
     application.css 
     application.min.css 
     home.css 
     home.css.scss 
     home.min.css 
     scaffolds.css 
     scaffolds.css.scss 
     scaffolds.min.css 
     startups.css 
     startups.css.scss 
public 
    assets 
    application-3701cb84bbc3c20d5a7ec1aac608fbdb.js 
    application-3701cb84bbc3c20d5a7ec1aac608fbdb.js.gz 
    application-f7ff7ad51f3528ccca1b5c7f2d5b5915.css 
    application-f7ff7ad51f3528ccca1b5c7f2d5b5915.css.gz 
    manifest-ad3babc6c84cc0b38f1a98eb594b8235.json 
    rails-afd7b40a0142ed24738b640e78388de4.png 

這裏是application.html.haml我的樣式錶鏈接:和

stylesheet_link_tag "flat-ui", "home.min", media: "all" 

gem flatui-rails是我的Gemfile *= require flat-ui是我application.css文件。

編輯2:

明白我public/assets文件夾,添加public/assets/*.gitignore推到我的Heroku回購。在slug編譯期間,Heroku運行了資產管道,製作了/assets/application-b2c82b0573602f3a368a26f36b99542b.css,它也鏈接到我網站的源代碼中,但樣式不加載,當我嘗試導航到樣式表時,我得到The page you were looking for doesn't exist. ...現在怎麼辦?

這裏是我的application.html.haml

!!! 5 
%html 
    %head 
    %title StartupCrawler 
    = stylesheet_link_tag "application", media: "all" 
    = csrf_meta_tags 
    = yield 

回答

19

邁克爾,我給你推到Heroku的前嘗試:

rake assets:precompile

這將預編譯它們在公共文件夾,以便可將其投放到的Heroku 。讓我知道如果這不起作用。

此外,確保存在的config /環境/ production.rb

config.serve_static_assets = true 

那當然

git push heroku master

+0

謝謝,我覺得這是朝正確方向邁出的一步,但它仍然無法正常工作。我在原始文章中添加了關於我的配置的詳細信息。我懷疑我已經做了我的'application.html.haml'風格鏈接 – 2013-04-18 04:54:22

+0

不對勁改變我的'stylesheet_link_tag「平板UI」,「home.min」,媒體之後:「所有的」''到stylesheet_link_tag「應用」媒體說:‘所有的’'的Heroku幾乎與有效的樣式表,但它給了'/資產/應用4cd3d6fa233d3d69d4eb5f32c3ca36b5.css'因爲這是沒有,我有我的文件夾 – 2013-04-18 05:10:35

+1

您可以發佈預編譯的資產的鏈接您的application.html.haml? 同時運行'heroku logs'併發布該輸出。 – 2013-04-18 05:25:17

0

而是在編譯資產檢查到的Git,第一次讀下面的行這個:https://devcenter.heroku.com/articles/ruby-support#plugin-injection-in-rails-4

你可以加這個寶石

寶石 'rails_12factor'

或添加此寶石具體

rails_serve_static_assets

或手動更改配置在config/environments/production.rb

配置。serve_static_assets = true

+2

有人做了一個寶石只是改變*一個配置變量,只好改變'config.serve_static_assets = TRUE;在'配置/ production.rb' – Zaz 2014-07-29 21:20:01

+0

Rails:不喜歡編程的人的編程框架。 – Chloe 2014-07-31 04:12:42