在Rails中,我应该使用发生器吗?

时间:2012-03-25 04:45:00

标签: ruby-on-rails ruby ruby-on-rails-3 rails-geocoder

我遇到的信息暗示大多数有经验的Rails开发人员都不使用脚手架。大多数有经验的Rails开发人员是否甚至将这些生成器用于模型,控制器和迁移?

例如,作为经验丰富的Rails开发人员,我会这样做:

rails g model Post name title content

rails g migration Create_Posts

然后用:

修改它
  def change
    create_table :posts do |t|
    t.string :name
    t.string :title
    t.text :content

    t.timestamps
  end

并手动创建post.rb

在Rails中使用生成器是最佳实践吗?

3 个答案:

答案 0 :(得分:2)

生成器只是增加开发时间的一种方法。如果您不喜欢它们,可以使用它们,如果您不喜欢它们,也可以不使用它们。

can create your own generators如果你认为它会改善你的开发过程。

答案 1 :(得分:2)

我从不使用发电机。我发现我最终删除了他们创建的一半内容,直到我最终需要添加这些文件/方法。在一个体面的文本编辑器中,创建新控制器,新模型,新模板,新规范等等都需要时间。

然而,一个例外是迁移生成器。在这种情况下使用生成器更容易,因为迁移必须正确版本化。

答案 2 :(得分:0)

发电机非常适合看模式。我发现随着我对rails应用程序结构的了解越来越多,我可以为每种情况选择我想做的事情。例如,我发现生成模型只是要走的路,因为创建的位(并且版本为d11wtq提及)。然后,一旦我使用了基础模型,我就可以生成脚手架,并将其作为更多黑客和更改的起点。

我正在考虑为一个有很多形式的系统编写我自己的生成器,至少我可以避免大量的重复工作 - 至少我希望如此。

希望有所帮助