What is a has_many :through association in Ruby on Rails? | Quick Tip

railsQuickTip

In this Treehouse Quick Tip, Jason demystifies the concepts behind what a has many :through association is in Ruby on Rails. We’ll figure out what a join table is, how different models fit together, and the syntax needed to make it all work. Score one for Treehouse!

Jason Seifer

Jason Seifer is a web developer, podcaster, beer geek, world traveler, astronaut, and trainer of Chuck Norris. He enjoys long walks on the beach, poetry, and a good scotch. He also teaches at Treehouse.

Comments

4 comments on “What is a has_many :through association in Ruby on Rails? | Quick Tip

  1. So, do you have any advice for OO actions that work on data stored on the join table? For instance, if you added a field to Subscriptions called “expired” for folks that quit paying their subscription fee, how would you access and/or update the “expired” field?

    Obviously, you can pull the subscription through a call like *sub = Subscription.where(user: user, magazine: magazine)*, but i didn’t know if working directly on the Subscription model is considered the Rails Way of working CRUD on join tables.

  2. This was a great tip but it would be nice to see how to use it with nested attributes in a form and also how to set the strong parameters for it in rails 4.