关于has_many的不平衡?

时间:2015-10-26 14:21:05

标签: ruby-on-rails ruby ruby-on-rails-4 activerecord

我想知道何时使用has_many,:through,我是否需要在两个模型中使用它,例如Snippet1

A
has_many :c
bas_many :b through :c

B
has_many :c
bas_many :a through :c

如果我使用以下代码段,

  A
    has_many :c
    bas_many :b through :c

    B
    has_many :c

我想知道与Snippet1和Snippet2有什么不同?

1 个答案:

答案 0 :(得分:0)

不同之处在于,在第二个代码段中,您无法使用B实例端的关联助手methods

# Would work only in the first snippet
b = B.take
b.as

# Would work in both snippets
a = A.take
a.bs

不,你不必在双方都使用它。只有在你需要的时候。