【问题标题】:What is the difference between generators and templates?生成器和模板有什么区别?
【发布时间】:2011-08-26 02:22:23
【问题描述】:

在 Rails 中,我们有生成器和模板来快速设置和配置应用程序。从表面上看,生成器和模板之间似乎有两个区别:

  1. 您可以在使用rails new appname -m path/to/template.rb 创建新应用程序时应用模板。生成器必须在使用 rails g generator_name 创建 rails 应用程序后运行
  2. 生成器是由一系列公共方法组成的类,这些公共方法按声明它们的顺序触发。模板只是一组命令。

在我看来,这似乎使生成器和模板基本相同。如果必须选择,我会选择模板,因为按声明顺序触发一系列公共方法对我来说似乎是一个很奇怪的 OO 抽象。一系列简单的命令更加清晰,不需要读者了解这种相当不寻常的约定即可理解模板。

生成器和模板之间有什么更显着的区别吗?如果是这样,是否存在一种比另一种更合适的情况?如果不是,为什么 Rails 两者都有,而且其中一种方法可能会在某个时候被弃用?

【问题讨论】:

    标签: ruby-on-rails templates code-generation generator


    【解决方案1】:

    我认为您描述的主要是鸡和蛋 - 您描述的模板(不要与操作视图的模板混淆)必须在创建应用程序之前应用,而生成器确实在内部工作rails 应用程序(可以通过插件等添加更多)。苹果和橙子。

    【讨论】:

    • 您可以在创建后使用rake rails:template LOCATION=~/template.rb 将模板应用到应用程序,如here 所述。因此,模板也可以通过插件/宝石添加,尽管我从未见过。这一定是有原因的,但我不知道是什么原因。
    猜你喜欢
    • 2010-12-30
    • 2013-06-17
    • 2010-11-04
    • 2022-01-03
    • 2019-10-25
    • 2018-07-08
    • 1970-01-01
    • 2011-11-02
    相关资源
    最近更新 更多