2011-05-15 56 views
0

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

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

在我看来,这似乎使发电机和模板基本相同。如果我不得不选择,我会选择模板,因为按照它们声明的顺序发布一系列公共方法似乎对我来说是一个相当奇怪的面向对象抽象。一系列简单的命令更加清晰,并且不需要读者知道为了理解模板而非常不寻常的约定。

生成器和模板之间还有什么更重要的区别吗?如果是这样,是否有一种比另一种更适合的情况?如果没有,为什么Rails有两种方法,而且有一种方法在某些时候可能会被弃用?

回答

0

我认为它主要是一个鸡蛋和鸡蛋的东西,你正在描述 - 你所描述的模板(不要与操作视图模板混淆)必须在应用程序创建之前应用,而发电机的工作来自在rails应用程序中(更多可以通过插件添加)。苹果和橘子。

+0

您可以使用'rake rails:template LOCATION =〜/ template.rb'创建应用模板到应用程序中,如[此处](http://m.onkey.org/rails-templates)所述。因此,模板也可以通过插件/宝石添加,虽然我从来没有见过。这肯定有一些原因,但我无法弄清楚什么。 – 2011-05-16 02:44:51