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

144 views
Skip to first unread message
Message has been deleted

Greg Donald

unread,
Nov 12, 2012, 11:16:21 PM11/12/12
to rubyonra...@googlegroups.com
On Mon, Nov 12, 2012 at 4:09 AM, Paul Leader <pa...@paulleader.co.uk> wrote:
> 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 Guide
> 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.

I've never needed :inverse_of. Looks like academic masturbation to me.


--
Greg Donald

Paul Leader

unread,
Nov 13, 2012, 4:24:16 AM11/13/12
to rubyonra...@googlegroups.com
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.

gamov

unread,
Oct 9, 2013, 4:05:43 AM10/9/13
to rubyonra...@googlegroups.com
I also don't understand what they mean since the example seems to contradict it...

Colin Law

unread,
Oct 9, 2013, 4:42:11 AM10/9/13
to rubyonra...@googlegroups.com
On 9 October 2013 09:05, gamov <gama...@gmail.com> wrote:
> I also don't understand what they mean since the example seems to contradict
> it...

Exactly which bit of
http://guides.rubyonrails.org/association_basics.html#bi-directional-associations
seems to be a contradiction? Unless you explain /exactly/ what you do
not understand it is difficult to help.

Colin
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-ta...@googlegroups.com.
>
> To post to this group, send email to rubyonra...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-talk/c7974de4-f687-40f5-849d-c5d9ab416440%40googlegroups.com.
>
> For more options, visit https://groups.google.com/groups/opt_out.

joh...@redcodingpanda.com

unread,
May 30, 2014, 4:02:36 PM5/30/14
to rubyonra...@googlegroups.com, cla...@googlemail.com
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.
Reply all
Reply to author
Forward
0 new messages