ActiveRecord::Base
까지 확장되는 특정 클래스에서이 클래스가 생성 될 때마다 다른 ActiveRecord 객체를 업데이트해야합니다. save
메서드를 무시하고 저장시 다음을 수행하는 것이 안전합니까?ActiveRecord의 저장 방법을 재정의 할 수 있습니까?
def save
super
other = self.other
other.name = self.name
other.save!
end
잠재적 인 트랜잭션 관련 문제가 걱정됩니다. 이 모든 것이 1 트랜잭션이 될 것이라고 가정합니다. 어떤 부분이 실패하면 모든 것이 롤백됩니까?
update_attribute가이 메서드를 사용하고 매개 변수를 전달하기 때문에 해시 매개 변수를 허용해야합니다. 'def save args = {} super args ... ' 콜백을 사용하기위한 아래의 대답은 저장이 사용되는 모든 상황을 포함하는지 잘 모르겠지만 훨씬 안전하고 효과적입니다. – ryan2johnson9