我想做点像......
class Person
has_many :things, -> { where(attr: owner.attr) }
end
也就是说,声明与范围块的has_many关联,并且在该块中我需要访问关联所有者,即对人员模型的引用。
因此,如果我最终调用@some_person.things
,则上述范围块中的owner
将引用@some_person
。
我可以在上面的代码中使用什么代替owner
来引用该块中的关联所有者?
答案 0 :(得分:5)
我还没有编写Rails 4,但这似乎是一种方法。从这里解除:Convert Rails 4 has_many from condition with proc to where
has_many :things, -> (object){ where( attr: object.attr )}