2009-09-26 2 views
1

Ruby에서 인스턴스 변수가 모두있는 모듈을 깊이 복제하려면 범용 복제 솔루션이 필요합니다. active 레코드 객체에서는 작동하지 않기 때문에 실제로는 .clone 메서드를 사용할 수 없습니다 (id 필드를 복사하지 않음).범용 객체 복제 솔루션

마샬 덤프 + 마샬로드를 사용하여 해결 방법을 보았지만 모듈 및 싱글 톤 개체에서는 작동하지 않습니다. 모듈을 복제하는 방법을 아는 사람이 있습니까? 아니면 내 진짜 문제에 대한 다른 해결책이있을 수도 있습니다.

인스턴스 변수가 설정된 모듈이 있고이를 다른 모듈에 복제하고 복제 된 개체의 개체를 수정 한 다음 두 번째 모듈에서 변경하지 않고 첫 번째 모듈을 다시 복제해야합니다.

답변

0

당신은 액티브 오브젝트에 대한 dup 대신 clone를 사용할 수 있지만 DUP는 싱글 방법을 복사하지 않습니다 (객체에 정의) + 그것은 오염 된 하나에 냉동 상태를 변경합니다.

레일즈에 대해서도 ActiveRecord 복제를위한 Deep cloning 플러그인이 있습니다.