Rails 3中访问子记录
问题描述:
class A
has_many :c
class B
has_many :c
class C
belongs_to :a
belongs_to :b
的父母。当我有C
一个实例,其母公司可以为A
或B
但我不事先知道它是。有没有一种简单的方法可以使用Rails关联来访问父对象?Rails 3中访问子记录
答
有几种方法可以做到这一点,包括多态,但也许是最直接的方法是这样的:
class C
belongs_to :a
belongs_to :b
def parent
a || b
end
end
# Usage:
C.new.parent # => nil
a1 = A.new
c1 = a1.c.create
c1.parent # => #<A:...>
b1 = B.new
c2 = b1.c.create
c2.parent # => #<B:...>
这样的作品,感谢您的快速答复。 – Bob 2012-01-06 22:51:34