Ruby on Rails - creating join table using migrations in ruby on rails - ruby on rails tutorial - rails guides - rails tutorial - ruby rails
creating join table using migrations in ruby on rails
Specially useful for has_and_belongs_to_many relation, you can manually create a join table using the create_table method. Suppose you have two models Tags and Proyects, and you'd like to associate them using a has_and_belongs_to_many relation. You need a join table to associate instances of both classes.
The actual name of the table needs to follow this convention: the model which alphabetically precedes the other must go first. Project preceds Tags so the name of the table is projects_tags. Also since the purpose of this table is to route the association between the instances of two models, the actual id of every record in this table is not necessary. You specify this by passing id: false Finally, as is convention in Rails, the table name must be the compound plural form of the individual models, but the column of the table must be in singular form.