2017-02-07 18 views
1

У меня есть модель сеансов и модель пользователей, где у них есть отношения habtm. У меня есть сценарий, когда все пользователи могут быть частью сессии, или только отдельные пользователи могут быть частью этого сеанса.не удалось обновить таблицу habtm при создании метода

def attendees=(emails) 

#ToDo Refactor этот кусок кода

, если электронная почта == 'Все'

emails = User.all.collect(&:email) 

конец

raise ArgumentError, 'Input should be an array of emails' unless emails.is_a?(Array) 
raise ArgumentError, 'Input Array of emails is empty' if emails.empty? 


self.users = [] 
emails.each do |email| 
    user = User.create_retrieve_user({:email => email}) 
    self.users << user unless self.users.include?(user) 
end 

конец

, когда я прохожу Все от передний конец это не cr есть любые записи в таблице session_users. Это отлично подходит для метода обновления и когда я передаю какие-либо конкретные сообщения электронной почты посетителям = (по электронной почте).

что может отсутствовать?

ответ

0

Где код, который обновляет сеансы для пользователя? В идеале для отношения HABTM вам необходимо связать связанные таблицы. Например:

user = User.create_retrieve_user({:email => email}) 
user.sessions = Session.create_session 
user.save