데이터베이스의 십진수 인 열 amount
이있는 모델이 있습니다. 이 모델을 인스턴스화 할 때 특정 정확도를 가진 BigDecimal
만 제공되도록하고 싶습니다. Float
이 제공 될 때 시나리오를 테스트하기위한 사양을 작성한 다음 before_create
콜백을 사용하여 BigDecimal
이 아닌 경우 오류가 발생합니다.제어 ActiveRecord 생성 인수 유형 및 특성
그러나 값이 before_create
콜백에 도달 할 때까지 레일스는 이미 BigDecimal
으로 변환했습니다. 이것은 내가 생각하기에 좋으며, 아마도 정밀도를 검사 할 수는 있지만, 레일이 어떻게 변환되는지 정확하게 알지 못하기 때문에 올바른 인수 유형과 정밀도를 확인하는 것이 좋을 것입니다.
이렇게 할 방법이 있습니까?
완전히 완벽합니다. –