我是Ruby on Rails世界的新手。在开始构建类似于商店的Web应用程序之前,我有一些问题需要解决。 我遵循“使用Rails进行敏捷Web开发”一书中的说明,所以我决定也使用sqlite ...
...但我已经通过ER Diagrams代表了这个场景,现在我不知道如何将它带到轨道上。
在本书的前几章中,它使用scaffold命令创建表“Product”。但是这个命令为我想要表示的每个表创建模型,视图,控制器和测试。
这是正确的方法吗?或者有没有办法在我开始创建我需要的mvc之前构建所有表?
答案 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生成器),直到它们正确,然后逐个构建其他表和关系。
工作量小,你的工作效率会非常高。工作量很大,你会花费大量的时间来试图弄清楚你在一次巨型手术中出错的地方。