7

Rails アセット パイプラインを使用してスリムなテンプレートをプリコンパイルできれば、非常に便利です。テンプレートを app/assets/html に貼り付けて、そのように提供することを望んでいました。

ここに私がこれまでに持っているものがあります:

# 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')

rake assets:precompile を実行すると、app/assets/html の .html.slim ファイルが読み取られますが、コンパイルされず、出力ファイルの拡張子は .slim のままです。

これを機能させる方法はありますか?

4

4 に答える 4

1

@kurt-mueller による回答は正しいですが、Rails 4 with Sprockets 3+ 用に更新する必要があります。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
于 2016-02-09T17:32:50.103 に答える
0

次のように新しいパスを追加してみてくださいproduction.rb:

config.assets.precompile += ["*.js", "*.css", "*.slim"]  #whatever you need
于 2013-05-02T22:28:21.373 に答える