Задать вопрос
AdilA
@AdilA
Нравится кодить, изучаю go c echo

Как правильно организовать приглашения к обему сообщений в rails?

Компания может быть отправителем приглашения, а может быть получателем. Приглашение хранит в себе инфу об отправителе и о получателе (recipient_id и sender_id). Компания может иметь несколько отправленных приглашений и может иметь несколько приглашений от других компаний. Также компания может принять приглашение либо отклонить его, для этого в модели Invitation добавил confirm:boolean, теперь на форме пытаюсь отразить только те компании которые приняли приглашение, но никак не пойму как запросить только те компании что приняли приглашение? Как из join таблицы Invitation дергать только те записи у которых confirm:true

Invitation
belongs_to :recipient, class_name: 'Company', foreign_key: 'recipient_id'
belongs_to :sender, class_name: 'Company', foreign_key: 'sender_id'


Company
has_many :sent_invitations, class_name: 'Invitation', foreign_key: 'sender_id' — отправленные компанией приглашения
has_many :invitation_recipients, through: :sent_invitations, source: :recipient — получатели приглашений
has_many :incoming_invitations, class_name: 'Invitation', foreign_key: 'recipient_id' — полученные компанией приглашения
has_many :invitation_senders, through: :incoming_invitations, source: :sender — отправители приглашений
  • Вопрос задан
  • 119 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
crackedmind
@crackedmind
web-developer
Company.joins(: invitation_recipients).where(invitation_recipients: {confirm: true}) поидее так
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы