11

ローカル マシンで Rails アプリを表示すると、スタイルシートは正常にリンクされます/assets/stylesheets/が、Heroku では/stylesheets/おそらくpublicディレクトリに変更され、機能しません。public/stylesheetsコンパイル時にスタイルシートを移動するにはどうすればよいですか?

編集:

後のファイルディレクトリ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 リポジトリにプッシュしました。スラッグのコンパイル中に、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
4

2 に答える 2

19

マイケル、私はあなたがherokuにプッシュする前に試してください:

rake assets:precompile

これにより、Heroku に提供できるように、パブリック フォルダーでそれらがプリコンパイルされます。それでもうまくいかない場合はお知らせください。

また、次の行が config/environments/production.rb に存在することを確認してください。

config.serve_static_assets = true

それならもちろん

git push heroku master

于 2013-04-18T04:13:40.583 に答える