2011-05-15 28 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

相關問題