2017-02-07 3 views
1

habtm 관계가있는 세션 모델과 사용자 모델이 있습니다. 모든 사용자가 세션의 일부가되거나 특정 사용자 만 해당 세션에 참여할 수있는 시나리오가 있습니다.작성 방법에 habtm 테이블을 업데이트 할 수 없습니다.

def attendees=(emails) 

#ToDo 리팩터링이 코드 조각

경우 이메일 == '전체'

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되지 않습니다 sessions_users 테이블의 모든 항목을 사용합니다. 이 방법은 업데이트 방법과 특정 이메일 _ID를 참석자 = (이메일)에 전달할 때 유용합니다.

무엇이실이 될 수 있습니까?

답변

0

사용자 세션을 업데이트하는 코드는 어디에 있습니까? HABTM 릴레이션의 경우 이상적으로 관련 테이블을 링크해야합니다. 예 :

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