【发布时间】:2011-08-26 02:22:23
【问题描述】:
在 Rails 中,我们有生成器和模板来快速设置和配置应用程序。从表面上看,生成器和模板之间似乎有两个区别:
- 您可以在使用
rails new appname -m path/to/template.rb创建新应用程序时应用模板。生成器必须在使用rails g generator_name创建 rails 应用程序后运行 - 生成器是由一系列公共方法组成的类,这些公共方法按声明它们的顺序触发。模板只是一组命令。
在我看来,这似乎使生成器和模板基本相同。如果必须选择,我会选择模板,因为按声明顺序触发一系列公共方法对我来说似乎是一个很奇怪的 OO 抽象。一系列简单的命令更加清晰,不需要读者了解这种相当不寻常的约定即可理解模板。
生成器和模板之间有什么更显着的区别吗?如果是这样,是否存在一种比另一种更合适的情况?如果不是,为什么 Rails 两者都有,而且其中一种方法可能会在某个时候被弃用?
【问题讨论】:
标签: ruby-on-rails templates code-generation generator