脚手架为我创建了太多文件。我该怎么办?

时间:2012-04-04 09:59:28

标签: ruby-on-rails ruby-on-rails-3.1

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

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

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

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

3 个答案:

答案 0 :(得分:2)

试用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用“type”这个词做奇怪的事情。当我做了这样的表格时,我发现从主词开始更容易,然后像这样用“kind”这个词:

rails generate migration ProductKind

答案 1 :(得分:2)

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

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

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

在任何情况下,您可能只是忽略您现在不需要的已创建文件。只要让它们保持原样,如果你愿意,可以专注于所有表格(迁移)。

答案 2 :(得分:2)

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

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

工作量小,你的工作效率会非常高。工作量很大,你会花费大量的时间来试图弄清楚你在一次巨型手术中出错的地方。