如何在 Rails 3.2.x Engine 中使用 SAS、HAML 和 CoffeeScript



目前,我有一个使用sass-rails的Rails 3.2.9引擎。当我生成一个带有几个操作的控制器时,也会生成资产(即 javascript 和 CSS)。但是,Javascript和SASS都是*.js*.css文件。它们不是CoffeeScript(*.js.coffee)或SASS(*.css.sass)。任何想法如何获得这项工作?

这是一个

不同的解决方案,默认情况下将使用coffee-railssass-rails gem - 也修复了haml-rails

我将其添加到engine.rb文件的顶部:

require 'rails'
require 'coffee-rails'
require 'sass/rails'
require 'haml-rails'

我所做的是检查这些文件的源代码,看看它们在普通的Rails应用程序中是如何工作的。例如,在haml-rails中,我查看了lib/haml-rails.rb并看到了以下内容:

require 'haml'
require 'rails'
module Haml
  module Rails
    class Railtie < ::Rails::Railtie
      if ::Rails.version.to_f >= 3.1
        config.app_generators.template_engine :haml
      else
        config.generators.template_engine :haml
      end
    ...

sass-railslib/sass/rails/railtie.rb ) 和 coffee-railslib/coffee/rails/engine.rb ) 也存在类似的文件。

只需将--stylesheet_engine=sass --javascript_engine=coffee附加到您的生成器命令中(我假设rails g controller)。

最新更新