我正在尝试完成构建Rails“Home Inventory”应用程序,以帮助我学习rails。以下给出了我试图实现的一般概述:如何在ActiveRecord中建立多个关系?
此应用程序的主要目的是显示一个页面的详细信息。因此,http://localhost:3000/living-room-couch将显示关于沙发的信息。
每个项目,可以属于一个(或有一个?)三类:
- 书
- 家具
- 电子。
书具有以下属性:
- ISBN,
- 网页,
- 地址,
- 类
家具具有以下特性:
- 颜色,
- 价格,
- 地址,
个 - 类
电子具有以下特点:
- 名称,
- 电压,
- 地址,
- 类。
-
现在我查看的一面,我已经在轨,包含适合于显示属于3类之一中的项目元素组成3个模板。 模板显示isbn,模板电子显示电压。
如何在ActiveRecord中对此进行建模?我会把它写成英文,也许有人可以帮助翻译成Rails:
An Item,belongs_to or has_one category。类别可以是以下三种之一:Book,家具或电子。
我不知道该怎么做。我知道每个类别如本书将因其具有不同的特性而成为它自己的模型。
我需要有类别有一个模型也一样,因为它只会包括书,或家具或电子。如果我要将类别划分为自己的模型,我将如何将它与模型相关联,例如Book。
--or
请问我只是走这条路(或者加入模型):
class BookModel < ActiveRecord::Base
has_many :categories
End
然后,选择哪一类所属的基础上,型号名称。
我希望我把这个问题放在正确的位置,我对此很困惑。
非常感谢您的时间。
我已经编辑我的答案:] – 2010-06-25 16:07:04
从我的经验,我已经意识到,Rails使屏障进入规模较小,但只是增加了更多的障碍跳过。没有我想的免费午餐。 我认为多态方法可能是正确的。所以我再去读那一章。 – BriteLite 2010-06-25 18:51:19