【问题标题】:Ruby on Rails - Make Slim the Default TemplateRuby on Rails - 使 Slim 成为默认模板
【发布时间】:2026-02-24 10:35:02
【问题描述】:

我正在开发一个 Ruby on Rails 项目,需要自定义 Gems 提供的默认视图。

要求使用 Slim 作为模板。我知道 ERB 是 Rails 的默认模板引擎。

根据我的观察,优先级是 ERB,如果不是,它将使用 Slim/Haml 视图。

我想知道是否可以将 Slim 设置为默认值而不是 ERB?

如何实现这一点,以便当我在 Slim 中创建模板的本地版本时,它将覆盖 gem 提供的模板。

任何线索将不胜感激。

【问题讨论】:

    标签: ruby-on-rails-3.2 slim-lang


    【解决方案1】:

    您可以使用“slim-rails” gem,它是为生成苗条模板而构建的。

    https://github.com/slim-template/slim-rails

    只需在您的 Gemfile 中将 gem 'slim' 替换为 gem 'slim-rails'

    【讨论】:

    • 有没有办法在rails new MyProject内添加slim?
    • @Basi,生成新项目时,没有视图,所以我认为您不需要它。也没有用于添加 gem 的 Gemfile。
    • 你是对的。但是有application.html.erb。但这很容易改变。感谢您的评论。
    • @Besi 您可以使用应用程序模板来实现这一点 - guides.rubyonrails.org/rails_application_templates.html
    • “slim”和“slim-rails”有什么区别?
    【解决方案2】:

    在你的 Gemfile 中,包含

    gem 'slim-rails'
    

    要生成 slim tempage,在 config/application.rb 中添加这行代码

    class Application < Rails::Application
    ........................................
    
        config.generators do |g|
          g.template_engine :slim
        end
    end
    

    【讨论】:

    • “slim”和“slim-rails”有什么区别?
    • @アレックス slim-rails for rails 生成
    • 这让rails generate controller 生成slims 而不是erbs,但是我如何告诉Puma 寻找slims 而不是erbs?