2012-03-20 10 views
4

私のアプリケーションは「特別」と呼ばれる別のレイアウトを使用して、コントローラを持っていますRails:どのようにスタイルシートをレイアウトに関連付けるのですか?

class SessionsController < ApplicationController 
    layout "special" 
    ... 
end 

だから私は、新しいlayouts/special.html.erbを作成しました:

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <%= stylesheet_link_tag "special" %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 
<%= yield %> 
</body> 
</html> 

私はまた、新しい対応stylesheets/special.css

を作成

問題は、「特別な」レイアウトのページにアクセスしようとしたときです。例外が発生しています。

スプロケット::セッション#でヘルパー:: RailsHelper :: AssetPaths :: AssetNotPrecompiledError

special.css isn't precompiled 

新しい私はすでにbundle exec rake assets:precompileを実行してきましたが、それは問題を解決しませんでした。 どうしたの?スタイルシートをレールのレイアウトにどのように関連付けるのですか?デフォルトでは

答えて

3

、Railsは、あなたのapplication.cssapplication.jsファイル(またはその.scss.lessまたは.coffee相当)をプリコンパイル。

あなたがプリコンパイルされる追加ファイルが必要な場合、あなたはこのように、あなたのconfig/environments/production.rbprecompile配列にそれを追加する必要があります。

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

参照:http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets