Учитывая следующие классы:
class Candidate
has_many :applications
has_many :companies, :through => :job_offers
end
class JobOffer
belongs_to :company
end
class Application
belongs_to :candidate
belongs_to :job_offer
end
![enter image description here](https://i.stack.imgur.com/dsBN8.png)
Как я могу проверить предыдущее утверждение (в изображении) на Rails?
Добавление следующегопроверка корректности приложения не будет работать при обновлении:
def validate_uniqueness_of_candidate_within_company
errors.add(:job_offer_id, "...") if candidate.companies.include?(company)
end
Причина, по которой при попытке изменить приложение на другой JobOffer той же компании кандидат.com.panies вернет эту компанию.
Я такжепопытался сделать что-то подобное в приложении:
validates_uniqueness_of :user_id, :scope => {:job_offer => :company_id}
Но это тоже не сработало.Любые идеи, чтобы решить эту проблему без использования 10 строк дерьмового кода?