Nested has many through... Or is there a better way?
Hi I have 2 models Tender and Group shown below.
For a Tender you can add Contractors (contractor_details) and you can also add Groups (groups). Groups also contain contractor_details.
This is so that they may want to categorize certain contractors they use alot into specific groups by speciality e.g. Joiners, Electrians e.t.c..
What would the best way for me to check all contractors added to a tender including through groups, this is so that I can then do authorization and only allow those contractors added to view the tender page?
class Group < ApplicationRecord belongs_to :company_detail has_many :group_contractors, dependent: :destroy has_many :contractor_details, through: :group_contractors has_many :tender_groups has_many :tenders, through: :tender_groups accepts_nested_attributes_for :group_contractors validates :name, presence: true end
class Tender < ApplicationRecord belongs_to :user belongs_to :company_detail has_many :questions has_many :assets has_many :tender_groups, dependent: :destroy has_many :groups, through: :tender_groups has_many :tender_contractors, dependent: :destroy has_many :contractor_details, through: :tender_contractors has_many :bids accepts_nested_attributes_for :tender_groups accepts_nested_attributes_for :tender_contractors accepts_nested_attributes_for :assets validates :title, :length_days, :summary, presence: true end