1

Rails 3とコンパスフレームワークに関するいくつかのherokuの問題のため、このガイドに従いました。

http://lds.li/post/673242899/compass-with-rails-3-on-heroku

スタイルシートをapp_name/tmp/stylesheetsに移動しました。

使ってみました

stylesheet_link_tag "#{Rails.root}/tmp/stylesheets/main.css"

しかし、それはでcssファイルを探すので機能しません

http:// localhost:3000 / app_name / tmp / stylesheets / main.css

私はこれが単純な修正であることを知っています、そして私は単純な何かを見落としています、しかしうまくいけば誰かが一目でこれに答えることができます。前もって感謝します!

これがstylesheets.rbにあることを指摘したいと思います。

Rails.configuration.middleware.insert_before('Rack::Sendfile', 'Rack::Static',
                                         :urls => ['/stylesheets/compiled'],
                                         :root => "#{Rails.root}/tmp")

「compasswatch」を試してみると、stylesheets/compiledではなく「tmp/stylesheets/main.css」にコンパイルされます。

4

2 に答える 2

3

私は個人的にこの問題を解決するために別のアプローチを取ります:

コンパス初期化子に次のコードを貼り付けます。

Sass::Plugin.options[:never_update] = true

これにより、サーバーがヒットしたときにsassがファイルシステムに書き込もうとするのを防ぎます。

コンパスウォッチを開発モードで実行していることを確認し、コンパイルされたスタイルシートをyoutgitrepoにコミットします。

これにより、時間を大幅に節約できます。このアプローチが気に入らない場合は、面倒な作業または最近のフォークの1つを試してください。

于 2010-08-29T01:38:00.870 に答える
1

config/compass.rb設定するように変更しますcss_dir = "tmp/stylesheets/compiled"

構成にあるものに基づいて、テンプレートにこれを使用する必要があります。

stylesheet_link_tag "compiled/main.css"

(どちらがレンダリングされますか<link rel="/stylesheets/compiled/main.css" ...

tmpdirは外部にありpublicます。ミドルウェアが再マッピングを処理しているため、URLには表示されません。)

于 2010-08-27T20:38:10.287 に答える