에 따라 콘텐츠 검증의이 같은 포스트 모델이 있다고 가정 해 봅시다 :레일 - 상태
class Post < ActiveRecord::Base
.......
.......
end
그것은이 두 속성 : 제목 및 : 몸.
이제 포스트 객체가 여러 단계를 통해 갈 수
: '초안' -> 은 '출판'.이제 초안 모드에서 게시물을 저장하는 동안 : 제목은 필요하지 않습니다.
이제validates_presence_of :title
, 레일에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까 : 게시 모드로 저장하는 동안, 그것은 제목의 존재 확인을 가질 필요가? 데코레이터 패턴의 일부 구현은 컨트롤러에서 활성 레코드 객체에 유효성 검사를 동적으로 추가하는 방식으로 훌륭하다고 생각합니다.
이것은 내가 가진 더 큰 문제의 단순화 된 버전입니다. 실제로는 관련 객체에서 수행 된 검증을 포함하여 훨씬 더 많은 검증이 있습니다.
감사합니다. 나는 주들에 [aasm] (https://github.com/aasm/aasm)을 사용하고있었습니다. state_machine으로 전환 할 때가 있습니다. –
아직 스위치를 서두르지 마십시오. state_machine이 더 많이 사용되지만 더 이상 활발하게 개발되지는 않습니다. –
아 맞아. 제 경우에는 상태 변경시 연관된 모델의 유효성을 검사해야합니다. 어떻게해야합니까? –