2

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

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

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

这是正确的方法吗?或者有没有办法在我开始创建我需要的 mvc 之前构建我的所有表?

4

3 回答 3

3

试试 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
...

在您的评论中,您询问了 type_of_product 表。对于像这样的表,可以跳过脚手架(例如,因为您不需要控制器)而只生成迁移:

rails generate migration TypeOfProduct

注意 Rails 用“类型”这个词做了一些奇怪的事情。当我做这样的表格时,我发现从主要词开始然后使用“种类”这个词更容易,如下所示:

rails generate migration ProductKind
于 2012-04-04T10:07:51.140 回答
2

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

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

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

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

于 2012-04-04T10:11:25.073 回答
2

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

您的实体关系图为您提供了构建系统的绝佳路线图。您不应该担心一次将 20 个表格大量放入应用程序中。相反,您应该一次又一次地构建它们(通过脚手架或其他用于模型和迁移的 rails 生成器)在它们上工作直到它们正确,然后一次构建其他表和关系。

做小事,你会非常有效率。做大工作,你会浪费很多时间来试图找出你在一个巨大的操作中出错的地方。

于 2012-04-04T14:14:01.760 回答