주소, 우편 번호, 주/국가, 전화 번호 등의 필드를 포함하는 여러 모델이 있다고 가정 해 보겠습니다.레일에서 유효성 검사 논리와 정규식을 리팩토링하는 가장 좋은 방법은 무엇입니까?
이들은 특정 정규식 유효성 검사가있는 일반적인 필드입니다. 각 모델에 동일한 유효성 검사와 정규 표현식을 넣으면 복제됩니다. 또한 테스트가 중복됩니다.
사물의 이러한 종류의 리팩토링 루비와 레일을 사용하는 가장 좋은 방법은 무엇이다),이 냄새인가? 모듈?
최대 절전 모드 자바에서, 우리는 주소를 저장하는 구성 요소 클래스를 사용하는 것, 그리고 우리가 검증 로직을 넣어 것입니다. 주소를 사용하고자하는 각 모델에는 단순히 하나만 포함되며 모든 주소 확인 논리를 갖습니다.레일에서 동일한 것을 달성하기위한 접근 방법은 무엇입니까? 감사!
모듈 아이디어가 나에게 떠오르는 것 같습니다. 나는 적절한 기능을 가진 모듈을 만들고 그것을 섞어 넣는다. –
주소 컬럼을 별도의 테이블로 옮겨서 다형성 연관을 사용하는 것을 고려해 볼 수있다. (예 :'belongs_to : addressable, : polymorphic => true') – zetetic
심지어 모듈이 아닌 자신 만의 클래스를 만들 수도 있습니다. –