You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何替换Rails中scaffold_controller生成器的控制器模板?

修改Rails脚手架控制器模板的方法

方法一:自定义生成器(推荐)

这是最稳妥的方案,不受Rails版本更新影响,还能复用自定义模板:

  • 在应用根目录下创建lib/generators/scaffold_controller目录
  • 在该目录下新建模板文件controller.rb.tt,写入自定义的控制器模板代码(可参考原Rails模板的变量,比如<%= class_name %>、<%= plural_table_name %>等,保证生成逻辑正常)
  • 再创建生成器类文件scaffold_controller_generator.rb,内容如下:
    class ScaffoldControllerGenerator < Rails::Generators::ScaffoldControllerGenerator
      source_root File.expand_path("templates", __dir__)
    end
    
  • 完成后运行rails g scaffold命令,系统会优先使用你自定义的控制器模板

方法二:直接修改Rails内置模板(不推荐)

这种方式操作简单,但存在明显缺陷:

  • 找到本地Rails安装路径下的内置模板,路径大致为:[Ruby安装目录]/lib/ruby/gems/[Ruby版本]/gems/railties-[Rails版本]/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt
  • 直接编辑该文件即可生效,但Rails版本更新后修改会被覆盖,且无法在其他项目复用

内容的提问来源于stack exchange,提问作者Arthur Felipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:37:05