生成器和模板有什么区别?

时间:2011-05-15 23:24:05

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

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

  1. 您可以在使用rails new appname -m path/to/template.rb创建新应用程序时应用模板。必须在使用rails g generator_name
  2. 创建rails应用程序后运行生成器
  3. 生成器是由一系列公共方法组成的类,这些方法按声明的顺序触发。模板只是一组命令。
  4. 在我看来,这似乎使发电机和模板基本相同。如果我必须选择,我会使用模板,因为按照它们被声明的顺序触发一系列公共方法对我来说似乎是一个非常奇怪的OO抽象。一系列简单的命令更加清晰,并且不需要读者知道相当不寻常的约定以便理解模板。

    生成器和模板之间是否存在更大的差异?如果是这样,有没有比另一个更合适的情况?如果没有,为什么Rails同时拥有这两种方法,并且在某些时候可能会被弃用?

1 个答案:

答案 0 :(得分:0)

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