모듈: Mongoid::Attributes::Readonly::ClassMethods

다음에 정의됨:
lib/mongoid/attributes/readonly.rb

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#attr_readonly(*names) ⇒ 객체

참고:

상위 클래스에 읽기 전용 속성이 포함되어 있고 다음과 같은 경우

속성을 읽기 전용으로 정의합니다. 이렇게 하면 문서가 새 문서이거나 생성 중인 경우에만 속성 값이 설정됩니다. 다른 경우에는 오류가 발생하는 #remove_attribute 및 #update_attribute를 제외하고 필드 쓰기가 무시됩니다.

하위 클래스에 의해 상속되는 경우, 하위 클래스는 생성 시 상위 클래스의 읽기 전용 속성을 상속합니다. 상위 항목을 업데이트해도 와드 이후 하위 클래스로 전파되지 않습니다.

예시:

필드에 읽기 전용 플래그를 지정합니다.

class Band
  include Mongoid::Document
  field :name, type: String
  field :genre, type: String
  attr_readonly :name, :genre
end

매개변수:

  • *names (기호...)

    필드의 이름입니다.

[소스 보기]

70
71
72
73
74
75
# 파일 'lib/mongoid/attributes/readonly.rb', 줄 70

def attr_readonly(*이름)
  self.readonly_attributes = self.readonly_attributes.dup
  이름. do |이름|
    self.readonly_attributes << database_field_name(이름)
  end
end