2013-02-18 12 views
7

レールアセットパイプラインを使用してスリムテンプレートをプリコンパイルすることができれば便利です。私はapp/assets/htmlにテンプレートを貼り付けて、そのようにしたいと考えていました。railsアセットパイプラインを使用したスリムテンプレートのプリコンパイル

ここで私はこれまで持っているものです:

# config/initializers/slim.rb 
Rails.application.assets.register_engine('.slim', Slim::Template) 

# config/application.rb 
config.assets.paths << "#{Rails.root}/app/assets/html" 
config.assets.register_mime_type('text/html', '.html') 

はすくい資産を実行:プリコンパイルは、アプリ/資産/ HTMLで.html.slimファイルを読み込み、それはまだ彼らと出力ファイルをコンパイルできません拡張子は.slimです。

これを行う方法はありますか?あなたがproduction.rbにこのような新しいパスを追加しようとすることができ

答えて

1

@のクルト・ミューラーによって答えが正しいですが、ニーズSprockets 3+でRails 4用に更新される予定です。初期化中にassetsプロパティが存在しないことを意味するスプロケットの変更がありました。代わりにあなたが行うことができます:

# config/initializers/slim.rb 

Rails.application.config.after_initialize do |app| 
    app.config.assets.configure do |env| 
    env.register_engine(".slim", Slim::Template) 
    end 
end 
+0

は、[推奨される方法]を使用するように私の答えを更新しました(https://github.com/rails/sprockets-rails/issues/307#issuecomment-170707886)。 –

0

config.assets.precompile += ["*.js", "*.css", "*.slim"] #whatever you need 
申し訳
1

私はパーティーに遅刻だけど、ディロンブキャナンは、この質問に答えhereconfig/initializersディレクトリへ

移動しslim_assets.rb(または類似したもの)のようなファイルを作成し、次の行-パスタにコピーします。私は私が使用HAMLで大きな成功を収めて似たような(やった

Rails.application.assets.register_engine('.slim', Slim::Template) 

をRails/AngJSアプリケーション用のテンプレートを書く)。

-1
あなたがプリコンパイル配列に静的ファイルを追加する必要があります

config.assets.precompile + =%のワット(ベンダー/ modernizr 404.html)

関連する問題