【发布时间】:2010-02-11 19:50:19
【问题描述】:
我有A、B、C三个模型,其中A has_many B; B belongs to C 和 B has a created_on timestamp。 C has_many A 到 B。
我想返回 all A,其中 A 有一个属于 C 的 B,而 B 是该 A 最近创建的 B。
我可以通过方法循环来做到这一点。这可以单独使用 named_scopes 完成吗?还是其他一些优雅/有效的方式?
根据对真实世界 (TM) 示例的请求,A、B 和 C 可以想象为例如 Pets (A)、PetsName (B) 和 Names (C)。 PetsNames 在特定时间赋予 Pets,任何给定的 Name 都可以赋予多个 Pets。任何宠物都可以有多个名称(一个 :through 关系)。对于给定的名称,我想要 all 的宠物,其中该名称是该宠物最近创建的 PetName。调用可能类似于@name.pets.most_recently_named_as
【问题讨论】:
-
很难理解使用 A,B,C。尝试编辑使用真正的名词(即配方,成分等......)我认为你会是一个更好的回应。
-
我已按要求提供了一个真实世界的示例。
标签: ruby-on-rails has-many belongs-to