0
활성 레코드 인스턴스를 데이터베이스에 저장 한 다음 더 이상 레코드를 쓸 수 없도록 잠금 (업데이트 또는 저장)하는 방법을 알아 내려했지만 여전히 읽을 수는 있습니다.RoR에서 ActiveRecord 모델을 한번 쓰고 잠글 수 있습니까?
저는 모델 자체에서 생성 할 때하고 싶습니다.
활성 레코드 인스턴스를 데이터베이스에 저장 한 다음 더 이상 레코드를 쓸 수 없도록 잠금 (업데이트 또는 저장)하는 방법을 알아 내려했지만 여전히 읽을 수는 있습니다.RoR에서 ActiveRecord 모델을 한번 쓰고 잠글 수 있습니까?
저는 모델 자체에서 생성 할 때하고 싶습니다.
save 메서드를 덮어 쓰는 대신 항상 false를 반환하는 before_update
후크를 만드는 것이 좋습니다. the callback documentation에서 :
before_이 * 콜백 false를 돌려주는 경우, 모든 나중에 콜백 및 관련 조치는 이미 기존 레코드를 저장하려고 할 때
before_update
콜백 만 실행됩니다
취소됩니다. 원래 만들어지면 대신 before_create
이 실행됩니다. 후크를 사용하면 레코드를 저장하는 데 어떤 방법을 사용하든 관계없이 호출 할 수 있습니다. 기존 save
메소드를 덮어 쓰면 save!
, update_attributes
등을 모두 덮어 썼는지 확인해야합니다.