Alder Green
2006-May-06 17:16 UTC
[Rails] Storing additional data on join tables with Rails
Hi there I need to store additional attributes on join table. Searching the Wiki [1] revealed two possible methods: 1) push_with_attributes, as described by Justin Palmer [2]. Unfortunately, "this method is now deprecated" [3]. Even if it wasn''t, there seem to be inherent problems with that approach, for example with updating those additional attributes, though Joshua Muheim have provided us with a plugin for that [4]. 2) promote the join-table to a full module. This approach seems to integrate better with Rails, and even a newb like me can sense that it has a lesser chance of rubbing ActiveRecord''s magic the wrong way, thereby breaking something. Still, that habtm association is just an association, not a model. I wouldn''t want to make it a model if I could help it. So, what''s the best practice for storing additional data on join tables with Rails? -Alder ------------------- [1] http://wiki.rubyonrails.com/rails/pages/has_and_belongs_to_many [2] http://encytemedia.com/blog/articles/2005/06/15/storing-additional-data-on-join-tables-with-rails#comment-490 [3] http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html [4] http://wiki.rubyonrails.com/rails/pages/Update+has_and_belongs_to_many+Attributes
Peter Michaux
2006-May-06 17:22 UTC
[Rails] Storing additional data on join tables with Rails
Make the join table a full model and look in the docs for has_many :through http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html Peter On 5/6/06, Alder Green <alder.green@gmail.com> wrote:> Hi there > > I need to store additional attributes on join table. Searching the > Wiki [1] revealed two possible methods: > > 1) push_with_attributes, as described by Justin Palmer [2]. > Unfortunately, "this method is now deprecated" [3]. Even if it wasn''t, > there seem to be inherent problems with that approach, for example > with updating those additional attributes, though Joshua Muheim have > provided us with a plugin for that [4]. > > 2) promote the join-table to a full module. This approach seems to > integrate better with Rails, and even a newb like me can sense that it > has a lesser chance of rubbing ActiveRecord''s magic the wrong way, > thereby breaking something. Still, that habtm association is just an > association, not a model. I wouldn''t want to make it a model if I > could help it. > > So, what''s the best practice for storing additional data on join > tables with Rails? > > -Alder > > ------------------- > [1] http://wiki.rubyonrails.com/rails/pages/has_and_belongs_to_many > [2] http://encytemedia.com/blog/articles/2005/06/15/storing-additional-data-on-join-tables-with-rails#comment-490 > [3] http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html > [4] http://wiki.rubyonrails.com/rails/pages/Update+has_and_belongs_to_many+Attributes > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Josh Susser
2006-May-06 17:55 UTC
[Rails] Re: Storing additional data on join tables with Rails
Alder Green wrote:> So, what''s the best practice for storing additional data on join > tables with Rails?http://blog.hasmanythrough.com/articles/2006/04/20/many-to-many-dance-off -- Josh Susser http://blog.hasmanythrough.com -- Posted via http://www.ruby-forum.com/.
Alder Green
2006-May-06 19:08 UTC
[Rails] Re: Storing additional data on join tables with Rails
On 5/6/06, Josh Susser <josh@hasmanythrough.com> wrote:> Alder Green wrote: > > So, what''s the best practice for storing additional data on join > > tables with Rails? > > http://blog.hasmanythrough.com/articles/2006/04/20/many-to-many-dance-off > > -- > Josh Susser > http://blog.hasmanythrough.comThanks Josh! "has_many :through" is awesome, and your article is very informative. Certainly, through associations are the proper way to do what I want. Regards, Alder