Как добавить редактирование и отобразить наличие или отсутствие к событию (ассоциация многих ко многим) - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть приложение с участниками и докладчиками вебинаров, я могу выбрать вебинары для каждого участника, но я хочу перечислить, кто посещал, а кто нет (некоторые из них подписываются, но не участвуют).Я могу перечислить всех подписчиков, но я не знаю, как перечислить, кто был подключен, а кто не помог, пожалуйста

Я пытался добавить 2 столбца для участников, подключенных и not_connected (логическое значение), но это нене работает, потому что я могу иметь того же участника в других вебинарах (и он может быть подключен).Я удалил столбцы и добавил их в таблицу соединений, я думаю, потому что есть webinar_id и Participant_id. Я не уверен в этом, и я не нашел никакой ссылки на сайте

Можете ли вы помочь или указать мне вправильное направление, чтобы узнать, как это связано

1 Ответ

0 голосов
/ 17 апреля 2019

Вы можете просто отслеживать, подключен участник или нет в вашей таблице присоединения, participant_webinars.Код ниже предполагает, что вы добавили connected как boolean к participant_webinars.

class Participant < ApplicationRecord 
  has_many :participant_webinars 
  has_many :webinars, through: :participant_webinars
end
class Webinar < ApplicationRecord 
  has_many :participant_webinars 
  has_many :participants, through: :participant_webinars do
    def connected
      where('participant_webinars.connected = ?', true)
    end
  end
end
class ParticipantWebinar < ApplicationRecord
  belongs_to :participant
  belongs_to :webinar

  scope :connected -> { where(connected: true) }
end

затем используйте: webinar.participants.connected

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...