以下に示すように、単純な has_many :through 配置があります。
# employee.rb
class Employee < ActiveRecord::Base
has_many :group_assignments
has_many :groups, through: :group_assignments
# ...
end
# group.rb
class Group < ActiveRecord::Base
has_many :group_assignments
has_many :employees, through: :group_assignments
# ...
end
# group_assignment.rb
class GroupAssignment < ActiveRecord::Base
belongs_to :employee
belongs_to :group
end
私は従業員のリストを持っています。そのリストでは、そのリストに含まれる従業員を少なくとも 1 人含むすべてのグループを取得したいと考えています。恐ろしく非効率的でない方法でこれを達成するにはどうすればよいでしょうか? 私は Rails に不慣れで、SQL に非常に慣れていないため、かなり途方に暮れています。開発では SQLite を使用し、本番環境では PostgreSQL を使用しています。