Scaffold为我创建了太多文件.我该怎么办



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

但我已经通过ER图表示了这个场景,现在我不知道如何将其付诸实践。

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

这是正确的方式吗?或者,在我开始创建我需要的mvc之前,有没有一种方法可以构建我所有的表?

试试Ruby On Rails:指南

http://guides.rubyonrails.org/getting_started.html

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

创建表的最简单方法是使用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使用"类型"这个词会做一些奇怪的事情。当我做这样的表格时,我发现从主要单词开始,然后像这样使用单词"种类"更容易:

rails generate migration ProductKind

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

更长的答案:通常你想设计一个模型,然后设计下一个,所以通常这是正确的方法。若创建一个没有模型的表,那个么表的纯存在就并没有价值。

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

在任何情况下,您都可以忽略当前不需要的已创建文件。只要让它们留在原地,如果你愿意的话,就专注于所有的表(迁移)。

脚手架为您提供了一个处理资源(如用户、帖子、文章等)的良好起点。它生成模型、视图和控制器,然后您可以专注于修改它以满足您的需求。

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

从小处着手,你的工作效率会非常高。大规模的工作,你会浪费很多时间试图找出你在一次大规模的操作中哪里出了问题。

最新更新