2012-12-16 125 views
1

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

回答

3

下面是一个不同的解决方案,默认情况下将使用coffee-railssass-rails宝石 - 也修复了haml-rails

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

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

我所做的就是检查这些文件的源代码,看看他们在正常的Rails应用程序是如何工作的。例如,在haml-rails我看着lib/haml-rails.rb,看到以下内容:sass-railslib/sass/rails/railtie.rb)和coffee-railslib/coffee/rails/engine.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 
    ... 

类似的文件。

+1

谢谢约翰!你为我节省了很多时间。 – Hamish

+0

没问题,@Hamish--很高兴能帮上忙。 – John

2

只需将--stylesheet_engine=sass --javascript_engine=coffee附加到您的发电机命令(我假设为rails g controller)。

+1

为什么这不是默认使用的? – John