Rails Guide:"For belongs_to associations, has_many inverse associations are ignored." not clear?

Perhaps I’m bing a bit thick and missing something obvious (possible),
but
I found the caveats listed in section 3.5 of the Associations Rails
Guidehttp://guides.rubyonrails.org/association_basics.html badly
worded and confusing.

The section gives an example with a has_many ↔ belongs_to relationship
is
setup with inverse associations on both side, but then states the
caveat*“For belongs_to associations, has_many inverse associations are
ignored.”
*

Could someone actually explain what that means in concrete terms? The
example and the caveat appear to be contradictory. If the caveat is
correct
then I’m not sure I understand how the example works.

Paul

On Mon, Nov 12, 2012 at 4:09 AM, Paul L. [email protected]
wrote:

then I’m not sure I understand how the example works.
I’ve never needed :inverse_of. Looks like academic masturbation to me.


Greg D.

It is useful in a small number of situations, mostly where you need to
ensure that two different references to the same object actually refer
to
the same instance. I’ve only needed to use it twice, both times were
where
we have callbacks updating multiple related objects based on data held
in
each other.

Anyway, if anyone else does understand what that caveat actually means
I’d
appreciate an explanation.

I also don’t understand what they mean since the example seems to
contradict it…

On 9 October 2013 09:05, gamov [email protected] wrote:

I also don’t understand what they mean since the example seems to contradict
it…

Exactly which bit of

seems to be a contradiction? Unless you explain /exactly/ what you do
not understand it is difficult to help.

Colin

The example included says…

class Customer < ActiveRecord::Base
has_many :orders, inverse_of: :customer
end

class Order < ActiveRecord::Base
belongs_to :customer, inverse_of: :orders
end


Later on, the guid mentions…

There are a few limitations to inverse_of support:

  • They do not work with :through associations.
  • They do not work with :polymorphic associations.
  • They do not work with :as associations.
  • For belongs_to associations, has_many inverse associations are
    ignored.

El miércoles, 9 de octubre de 2013 03:42:11 UTC-5, Colin L. escribió: