Rails Triple Association

时间:2010-12-16 09:25:39

标签: ruby-on-rails

考虑三种模式。用户,库存和库存项目。

用户属于库存。库存有一个用户。库存包含许多库存物料,库存物料属于库存。 (我知道用户有一个库存可能应该更好,但是在做我的关联时我不太了解红宝石。)

现在,我想知道检查用户的库存中是否有某个项目的最佳方式是什么。

你怎么看?也许你也会建议我改变我的联想?我接受批评:)

1 个答案:

答案 0 :(得分:1)

我认为你应该使用:through => ...的{​​{1}}选项。例如:

has_many

然后,您可以在用户的​​class User ... has_many :inventory_items, :through => :inventories ... end 集合上使用find

inventory_items

有关更多信息,请参阅user = User.first item = user.inventory_items.find(...) 的rails api doc。