我想构建一个(玩具/学习)RoR应用程序来管理个人棋盘游戏库,但是当我尝试定义正确的数据结构时,我陷入了困境。 基本上,用户拥有一个包含许多游戏的图书馆。用户为每个游戏定义价格和等级。
因此,我有一个具有name:text
属性的用户简单模型和一个具有title:text
属性的游戏模型。
我还有一个library
模型,该模型引用了user
模型,并且与games
有一对多的关系。
现在,我不确定如何为库中的游戏定义属性rating
和price
。
简单的想法是将report
定义为具有属性rating
和price
的图书馆和游戏的联接表,但我觉得这种解决方案太笨拙了。
还有其他想法吗?
答案 0 :(得分:4)
一点也不笨拙。确实,这是正确的解决方案。
您需要在library
和game
之间建立多对多关联,因为一个库可以有很多游戏,而一个游戏可以在许多库中。
正如您所说,创建同时引用report
和library
以及列game
和rating
的模型price
,然后定义{{1} }关联:
has_many :through