2012-04-04 58 views
2

我是Ruby on Rails领域的新手。在开始构建类似商店的Web应用程序之前,我有一些问题需要解决。 我遵循书中的指导书“使用Rails进行敏捷Web开发”,所以我决定也使用sqlite ...脚手架为我创建了太多的文件。我该怎么办?

...但我已经通过ER图表示了该场景,现在我没有知道如何把它放在轨道上。

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

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

+2

具体问题是什么? – 2012-04-04 10:01:04

回答

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会奇怪的事情字“型”。当我做这样的一个表,我发现它更容易启动与主字,然后用“种”是这样的:

rails generate migration ProductKind 
+0

好的,但如果我有20张桌子,我必须创建20个脚手架? – user1312490 2012-04-04 10:10:23

+0

嗯,是的。在大多数情况下 - 除非您想在迁移中创建表格:您可以在一次迁移中创建20个表格,但这不是Rails方式_。 – Arsen7 2012-04-04 10:15:20

2

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

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

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

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

+0

当我生成类似“type_of_product”rails的表生成一个脚手架生成所有的mvc显示“type_of_product”创建新的“type_of_products”等等,但我不需要它 – user1312490 2012-04-04 10:14:14

+0

脚手架创建一个表,模型和控制器标准视图。如果你不需要这些,不要使用脚手架。创建“模型”或“迁移”。 – Arsen7 2012-04-04 10:17:41

+0

所以如果我生成模型,它会创建表,避免创建视图和控制器的权利? – user1312490 2012-04-04 10:28:43

2

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

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

工作量很小,你会非常高效。工作量大,你会花费大量的时间来试图找出你在一次巨大的操作中出错的地方。

+0

+1这是一个很好的建议。我想说的是一样的,但是你说的很清楚。 :-) – Arsen7 2012-04-05 10:33:10