rails 中的脚手架生成器从位于 lib/rails/generators/erb/scaffold/templates
railties 路径中的模板和项目中的 lib/templates
文件夹中生成 MVC 层。
如果您将原始文件从 railties 文件夹复制到您的项目 lib 文件夹,那么您将能够自定义原始 scaffold
生成器,正如 Daniel Fone 在他的 blog 中所解释的那样。
原始的 Rails 生成器在 View 层使用了 5 个文件:
_form.html.erb
edit.html.erb
index.html.erb
new.html.erb
show.html.erb
我想知道是否有办法通过向集合中添加另一个文件来扩展这种行为。像
_header.html.erb
或 _info.html.erb
(我设计的一些部分)。 最佳答案
几个月后,我找到了解决方案。我没有像 Rails documentation 所说的那样创建一个新的生成器,而是覆盖了默认生成器,但在我的项目 lib
文件夹中。
原始 scaffold_generator.rb
位于 ~/.rvm/gems/ruby-2.1.0/gems/railties-4.2.4/lib/rails/generators/erb/scaffold
。要添加新文件 ( _info.html.erb
),我们将把它添加到 available_views
方法中。
def available_views
%w(index edit show new _form _info)
end
希望它可以帮助某人。
关于ruby-on-rails - 覆盖 Rails 脚手架生成器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32384713/