是否有一种方法可以将rails配置为默认使用haml,即当生成脚手架时,会生成相应的scaffold_name/index.html.haml而不是scaffold_name/index.html.erb.

类似于将config.sass.preferred_syntax = :sass添加到config/application.rb,并在默认情况下生成scaffold_name.sass.

try 将以下内容添加到config/application.rb

config.generators do |g| 
  g.template_engine :haml
end

但我发现了以下几点

$ rails generate scaffold foo name:string
  invoke  active_record
  create    db/migrate/20120208152550_create_foos.rb
  create    app/models/foo.rb
  invoke    test_unit
  create      test/unit/foo_test.rb
  create      test/fixtures/foos.yml
   route  resources :foos
  invoke  scaffold_controller
  create    app/controllers/foos_controller.rb
   error    haml [not found]
  invoke    test_unit
  create      test/functional/foos_controller_test.rb
  invoke    helper
  create      app/helpers/foos_helper.rb
  invoke      test_unit
  create        test/unit/helpers/foos_helper_test.rb
  invoke  assets
  invoke    coffee
  create      app/assets/javascripts/foos.js.coffee
  invoke    sass
  create      app/assets/stylesheets/foos.css.sass
  invoke  sass
  identical    app/assets/stylesheets/scaffolds.css.sass
$ rails destroy scaffold foo                                                                                                                        
  invoke  active_record
  remove    db/migrate/20120208152550_create_foos.rb
  remove    app/models/foo.rb
  invoke    test_unit
  remove      test/unit/foo_test.rb
  remove      test/fixtures/foos.yml
   route  resources :foos
  invoke  scaffold_controller
  remove    app/controllers/foos_controller.rb
   error    haml [not found]
  invoke    test_unit
  remove      test/functional/foos_controller_test.rb
  invoke    helper
  remove      app/helpers/foos_helper.rb
  invoke      test_unit
  remove        test/unit/helpers/foos_helper_test.rb
  invoke  assets
  invoke    coffee
  remove      app/assets/javascripts/foos.js.coffee
  invoke    sass
  remove      app/assets/stylesheets/foos.css.sass
  invoke  sass

我创建了一个很好的小bundle命令,在this个屏幕播放之后用haml文件替换所有erb,但我仍然对在创建脚手架时将其设置为默认值感兴趣!我怎样才能让它成为haml文件(而不是erb!)是默认生成的吗?

推荐答案

我在我的文件中使用gem 'haml-rails', '= 0.3.4'.它自动生成*.html.haml,无需任何配置.

Ruby-on-rails相关问答推荐

如何从 gem 覆盖 JSONAPI.configure

用变量替换 find_or_create_by 中的键

如何断言 Ruby 单元测试中的错误消息?

如何在哪里查询 Rails 模型中定义的方法

如何使用 RSpec 和 Devise/CanCan 进行集成测试?

使用 rails 3.1.0 和 ubuntu 安装 Nokogiri 1.5.0 时出错

rails:防止闪烁消息显示两次

控制器规格与请求规格?

rspec 共享示例与共享上下文

是否可以在 Rails 中否定范围?

如何在不删除项目本身的情况下删除单个 HABTM 关联项目?

我可以在 Ubuntu 上使用 apt-get 安装 gems 吗?

通过 Ruby 或 Rails 的 LDAP

在 rails 3 中批量插入

停止 Rails 为视图和助手生成规范测试?

# 轨道中的 TODO

您将如何解析 Ruby 中的 url 以获取主域?

Rails: Sprockets::Rails::Helper::AssetNotPrecompiled 在开发中

Ruby 中有与 slice 函数相反的函数吗?

如何在 Rails 4 中测试控制器关注点