문제

내가 사용하여 ActiveRecord 에 대한 정보를 유지 관리하는 사용자.사용자는 클래스가 예상되는 load(),insert(),업데이트(),삭제()메서드 세터,getter,그리고 몇 가지 다른 사람입니다.하지만 내가 결정하는 데 문제가 여부 또는 특정하지 않는 다른 방법이 포함되어야에서 사용 클래스에 의해 처리되거나 협력자들이 포함됩니다.

예를 들어 다음과 같습니다.

거기에 여러 트랜잭션이 사용자가 요청할 수도 있습니다 필요는 확인합니다.이것은 처리에서 기존의 방법-이메일을 보내는 사용자에 대한 링크와 함께;링크를 클릭하여 확인하는 사용자가 실제로 원하는 트랜잭션을 진행합니다.의 해시 확인과의 만료 날짜/시간 지속 일부로 사용자의 기록이다.

어디서 선을 그에 이 프로세스?가 있어야 합작자를 처리하는 검증을(예를 들어 복용하여 일반 텍스트 검증 키를 쿼리에서 문자열을 받아들이는 사용자 객체로 param)?나이 처리하여 내부적으로 사용자 등급(전달하는 일반 텍스트 검증은 키에는 메소드 호출)?

매우 다음에 일어날 것에 따라 검증에는 물론,는 트랜잭션이 진행 업데이트를 요구하는 active 기록하고 있는,내가 보기에는,사용자가 반드시 가져야 하는 책임입니다.

어떤 방법이 있나요?

도움이 되었습니까?

해결책

을 위임해야 한 이 작업을 공동 작업자를 관리하는 confirmations 테이블.

당신이 사용하는 것 Confirmation 모델을 추적하는 모든 확인 요구 사항입니다.모델 속하는 것입 User, 뿐만 아니라,관리에 대한 확인 및 해시 작업을 확인(예: activate_account, change_passwordchange_email etc.).

Confirmation 컨트롤러를 검증할 책임은 해시 확인 및 체인의 적절한 조치에 적합한 모형(예를들면 activate_account -> user.activate(), change_password -> user.setPassword() 등.) 고를 제거 Confirmationconfirmations 테이블의 성공적으로 완료합니다.

이를 허용할 것이 더 좋은 분리의 논리,뿐만 아니라 할 수 있는 규모는 더 나은,예를 들어,을 즐겁게 하나 이상의 보류에 대한 확인된 사용자(말을 확인하여 비밀번호 변경 확인하여 변경 다른 뭔가가 있습니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top