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 文件夹中。

    ruby-on-rails - 覆盖 Rails 脚手架生成器-LMLPHP

    原始 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/

    10-13 09:12