3
한 번 설정 한 속성을 ActiveRecord 모델에서 변경할 수없는 기능을 구현하려고합니다. 이를 위해 다음 메소드를 작성했습니다.ActiveRecord의 플래그가 유효하지 않습니다.
def address
self[:address]
end
def address=(val)
if new_record?
self[:address] = val
else
errors.add(:address, "Cannot change address, once it is set")
return false # tried return nil here first, did not work
end
end
여기 뭔가 잘못 되었습니까? 내가 주소를 변경하려고하면 객체를 무효로하고 싶지만 아무런 에러도 발생하지 않는다. obj.valid?
EDIT : 일단 값이 설정되면 변경되지 않지만 잘못된 객체를 얻고 싶다. obj.valid를 통해 유효성 검사를 할 때?
뜨아! 나는 그 생각을 했어야했다. 감사! – rmk
문제 없습니다. 다른 사람들이 같은 질문을하는 경우에 대비하여 나는 후손에 대한 코드 예제를 추가했습니다. :-) – Benson
감사 감사합니다! 이것은 내가 유산 프로젝트를 위해 여러 시간 동안 찾고 있었던 것입니다. – rendon