given a setup like class Parent has_many :child_parents has_many :children, :through => child_parents end and assuming i'd like to store the style of relationship on the child_parents table, for example create table child_parents( parent_id child_id is_adopted ) in otherwords, 'is_adopted' is an attribute of the link between child and parent, not of the child or parent themselves, how can one access this simply? child = parent.children.first p child.adopted? is obviously desirable and used to be possible with HABTM associations. but that's deprecated.... however there seems to be no easy way to accomplish something similar with full blown join models. cheers.
on 2008-10-28 21:53
on 2008-10-28 23:03
On 28 Pa¼, 20:53, "ara.t.howard" <firstname.lastname@example.org> wrote: > create table child_parents( > p child.adopted? > > is obviously desirable and used to be possible with HABTM > associations. but that's deprecated.... however there seems to be no > easy way to accomplish something similar with full blown join models. > > cheers. http://wiki.rubyonrails.org/rails/pages/has_and_be... "... has_and_belongs_to_many is great for what it does, but it is only adequate for simple many-to-many relationships. If your intermediary table needs to track additional data, then you may instead want to use ThroughAssociations instead. ..." Cheers
on 2008-10-28 23:39
yeah i'm aware of all that - the issue is that using HM:T give no simple method of getting back at the *particular* model/row used for the join. of course there can by more that one, but it's also the case that for any given pair of related objects there is exactly one row in the join model making that relationship and AR provides no handle on this record, which makes decorating it rather tricky.