考虑三种模式。用户,库存和库存项目。
用户属于库存。库存有一个用户。库存包含许多库存物料,库存物料属于库存。 (我知道用户有一个库存可能应该更好,但是在做我的关联时我不太了解红宝石。)
现在,我想知道检查用户的库存中是否有某个项目的最佳方式是什么。
你怎么看?也许你也会建议我改变我的联想?我接受批评:)答案 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。