目前,我有一个使用sass-rails
的Rails 3.2.9引擎。当我生成一个带有几个操作的控制器时,也会生成资产(即 javascript 和 CSS)。但是,Javascript和SASS都是*.js
和*.css
文件。它们不是CoffeeScript(*.js.coffee
)或SASS(*.css.sass
)。任何想法如何获得这项工作?
不同的解决方案,默认情况下将使用coffee-rails
和sass-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-rails
( lib/sass/rails/railtie.rb
) 和 coffee-rails
( lib/coffee/rails/engine.rb
) 也存在类似的文件。
只需将--stylesheet_engine=sass --javascript_engine=coffee
附加到您的生成器命令中(我假设rails g controller
)。