Яuбy / Говнокод #14559 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
class Company
  has_many   :company_contacts, autosave: true
  has_many   :contacts,         through: :company_contacts, class_name: 'User'

  has_many :primary_contacts, through: :company_contacts, class_name: 'User',
    conditions: {company_contacts: {active: true, position: CompanyContact::PRIMARY}}
  has_many :secondary_contacts, through: :company_contacts, class_name: 'User',
    conditions: {company_contacts: {active: true, position: CompanyContact::SECONDARY}}
  has_many   :contacts,           through: :company_contacts, class_name: 'User'

  def primary_contact
    primary_contacts.first
  end

  def primary_contact_id
    primary_contact.try(:id)
  end

  def primary_contact_id=(user_id)
    self.company_contacts.new(user_id: user_id, position: CompanyContact::PRIMARY, active: true) if user_id.present?
  end

  def secondary_contact
    secondary_contacts.first
  end

  def secondary_contact_id
    secondary_contact.try(:id)
  end

  def secondary_contact_id=(user_id)
    self.company_contacts.new(user_id: user_id, position: CompanyContact::SECONDARY, active: true) if user_id.present?
  end
end

belongs_to через has_many.

Запостил: rubygovnokod rubygovnokod, (Updated )

Комментарии (1) RSS

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8