1

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

4

2 回答 2

3

这是一个不同的解决方案,默认情况下将使用coffee-railssass-railsgems - 也修复了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-rails( lib/sass/rails/railtie.rb) 和coffee-rails( )存在类似的文件lib/coffee/rails/engine.rb

于 2012-12-17T00:57:19.697 回答
2

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

于 2012-12-16T21:41:17.507 回答