0
내 사용자 모델에는 인스턴스 모델과 관련된 instance_id가 있습니다. 이메일이 [email protected] 경우레일 - 레코드가 업데이트 될 때마다 메소드를 실행하는 방법
User:
id, email, instance_id
Instance:
id, domain
은 그렇게 그의 instance_id (5, yahoo.com)는 예를 표에서와 같이, 5입니다.
사용자 레코드가 업데이트 될 때마다 이메일이 올바른 도메인과 일치하는지 확인하고 싶습니다. 그래서 다음과 같습니다 :
after_save :assign_user_to_instance
def assign_user_to_instance
domain = email.split("@").last
user_instance = Instance.find_or_create_by_domain domain
update_attribute(:instance_id, user_instance.id)
end
문제가 이것이 실행되면 문제는 DB 업데이트에 대한 미친듯한 루프를 반복하며 끝나지 않습니다. 이것을 달성하는 올바른 방법은 무엇입니까?
감사