覆盖Rails脚手架生成器

时间:2015-09-03 20:18:18

标签: ruby-on-rails

rails中的scaffold生成器从位于lib/rails/generators/erb/scaffold/templates railties路径中的模板和项目中的lib/templates文件夹生成MVC层。

如果您将原始文件从railties文件夹复制到项目lib文件夹,那么您将能够自定义原始scaffold生成器,正如Daniel Fone在他的blog中解释的那样。

原始Rails生成器在视图层中使用5个文件:

  • _form.html.erb
  • edit.html.erb
  • index.html.erb
  • new.html.erb
  • show.html.erb

我想知道是否有办法通过向集合中添加另一个文件来扩展此行为。比如_header.html.erb_info.html.erb(我设计的一些部分内容)。

1 个答案:

答案 0 :(得分:4)

对于那些懒惰的人来说,这是一个快速命令,可以将默认的栏杆erb模板复制到Rails中的正确位置:

mkdir -p lib/templates/erb/scaffold && \
cp $(bundle show railties)/lib/rails/generators/erb/scaffold/templates/* lib/templates/erb/scaffold