仅供参考该项目使用Mongo / Mongoid
假设我有模型A,B,C和D. A has_many Bs has_many Cs has_many Ds。
每个都有一个属性' name'这在它的关联树中是唯一的,但不一定在整个模型类中。
如果我有这样的哈希:
{a: "name1", b: "name2", c: "name3"}
或
{a: "name2", b: "name2", c: "name3", d: "name4"}
如何在散列中找到最后一个模型?基本上(虽然它需要动态的哈希大小):
@item = A.where(name: "name1").first
.Bs.where(name: "name2").first
.Cs.where(name: "name3").first
答案 0 :(得分:0)
你可以用,
@item = A.where(name: "name1").first
@item = @item ? @item.Bs.where(name: "name2").first : Bs.where(name: "name2").first
@item = @item ? @item.Cs.where(name: "name3").first : Cs.where(name: "name3").first
@item = @item ? @item.Ds.where(name: "name4").first : Ds.where(name: "name4").first