Ruby on rails Scaffold为我创建了太多的文件。我该怎么办?

Ruby on rails Scaffold为我创建了太多的文件。我该怎么办?,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,我是RubyonRails的新手。在开始构建类似商店的web应用程序之前,我有一些问题需要解决。 我正在遵循“使用Rails进行敏捷Web开发”一书中的说明,所以我决定也使用sqlite …但是我已经通过ER图表示了这个场景,现在我不知道如何将它放到轨道上 在本书的前几章中,它使用scaffold命令创建表“Product”。但是这个命令为我想要表示的每个表创建模型、视图、控制器和测试 这样做对吗?或者,在我开始创建所需的mvc之前,有没有一种方法可以构建所有表?试试Ruby On Rails指

我是RubyonRails的新手。在开始构建类似商店的web应用程序之前,我有一些问题需要解决。 我正在遵循“使用Rails进行敏捷Web开发”一书中的说明,所以我决定也使用sqlite

…但是我已经通过ER图表示了这个场景,现在我不知道如何将它放到轨道上

在本书的前几章中,它使用scaffold命令创建表“Product”。但是这个命令为我想要表示的每个表创建模型、视图、控制器和测试


这样做对吗?或者,在我开始创建所需的mvc之前,有没有一种方法可以构建所有表?

试试Ruby On Rails指南:

在我看来,它通常比《敏捷》一书更容易理解

创建表的最简单方法是使用Rails迁移

使用相关模型、视图和控制器创建迁移的最简单方法是:

rails generate scaffold Product
该命令将打印它正在执行的操作。看看那些文件

如果您有许多表,是的,典型的方法是生成许多脚手架,例如:

rails generate scaffold User
rails generate scaffold Product
rails generate scaffold Company
rails generate scaffold Invoice
...
在您的评论中,您询问了产品表的类型。对于这样的表,可以跳过脚手架(例如,因为您不需要控制器),而只生成迁移:

rails generate migration TypeOfProduct
请注意,Rails使用“type”这个词做了一些奇怪的事情。当我做这样的表格时,我发现从主单词开始,然后用“种类”这样的单词更容易:

rails generate migration ProductKind

简短回答:是的,这是正确的方法

较长的回答:通常你想设计一个模型,然后再设计下一个,所以通常这是正确的方法。如果您创建一个没有模型的表,那么表的纯存在并没有任何价值

如果只想创建表而不创建模型,可以创建迁移。只需使用
/script/rails生成迁移CreateSomeTable


在任何情况下,您都可以忽略当前不需要的已创建文件。只要让他们呆在原地,如果你愿意的话,把注意力集中在所有的表(迁移)上。

脚手架为你提供了一个很好的起点来处理资源,如用户、帖子、文章等。它生成模型、视图和控制器,然后你可以集中精力修改它以满足你的需要

实体关系图为您提供了构建系统的良好路线图。你不应该担心一次在应用程序中敲打20张桌子。相反,您应该一次一个地构建它们(通过脚手架或用于模型和迁移的其他rails生成器),直到它们正确为止,然后一次一个地构建其他表和关系


小规模工作,你的工作效率会非常高。大量工作,你会浪费大量时间试图找出你在一个巨大的操作中出错的地方。

当我为“产品类型”等表格生成支架时,rails会生成所有mvc,以显示“产品类型”创建新的“产品类型”等等,但我不需要它的CAFOLD创建表格、模型,以及具有标准视图的控制器。如果你不需要这些,不要使用脚手架。创建
模型
迁移
。因此,如果生成模型,它会创建表,从而避免创建视图和控制器,对吗?是的。在大多数情况下,除非您想在迁移中创建表:您可以在一次迁移中创建20个表,但这不是Rails的方式。+1这是一个很好的建议。我想说同样的话,但你说得很清楚。:-)