访问ActiveRecord关联范围块内的所有者

时间:2014-01-26 02:14:48

标签: ruby-on-rails activerecord orm associations rails-activerecord

我想做点像......

class Person
  has_many :things, -> { where(attr: owner.attr) }
end

也就是说,声明与范围块的has_many关联,并且在该块中我需要访问关联所有者,即对人员模型的引用。

因此,如果我最终调用@some_person.things,则上述范围块中的owner将引用@some_person

我可以在上面的代码中使用什么代替owner来引用该块中的关联所有者?

1 个答案:

答案 0 :(得分:5)

我还没有编写Rails 4,但这似乎是一种方法。从这里解除:Convert Rails 4 has_many from condition with proc to where

has_many :things, -> (object){ where( attr: object.attr )}