例えばUserモデルとCompanyモデルが多対多(お互いhas_many)の関係であることを表現するときは, 中間のモデルCompaniesUser(アルファベット順にならべる)を使う.
それぞれコードは以下のようになる.
# app/models/user.rb
class User < ActiveRecord::Base
has_many :companies_users
has_many :companies, through: :companies_users
end
# app/models/company.rb
class Company < ActiveRecord::Base
has_many :companies_users
has_many :users, through: :companies_users
end
# app/models/companies_user.rb
class CompaniesUser < ActiveRecord::Base
belongs_to :company
belongs_to :user
end