【问题标题】:How to use SASS, HAML, and CoffeeScript in Rails 3.2.x Engine?如何在 Rails 3.2.x 引擎中使用 SASS、HAML 和 CoffeeScript?
【发布时间】:2012-12-04 00:44:52
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails-3 ruby-on-rails-3.2 rails-engines


    【解决方案1】:

    这是一个不同的解决方案,默认情况下将使用 coffee-railssass-rails gems - 还修复了 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) 存在类似文件。

    【讨论】:

    • 谢谢约翰!你为我节省了很多时间。
    • 没问题,@Hamish - 很高兴我能帮上忙。
    【解决方案2】:

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

    【讨论】:

    • 为什么默认不使用这个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2018-03-05
    • 2012-01-31
    • 1970-01-01
    • 2012-06-09
    • 2011-05-05
    • 1970-01-01
    相关资源
    最近更新 更多