Módulo: Mongoid::Attributes::Readonly::ClassMethods

Definido em:
lib/mongoid/attributes/readonly.rb

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#attr_readonly(*names) ➤ Objeto

Observação:

Quando uma classe principal contém atributos somente leitura e é

Define um atributo como somente leitura. Isso garantirá que o valor do atributo seja definido apenas quando o documento for novo ou estivermos criando. Em outros casos, a gravação do campo será ignorada com exceção de #remove_attribute e #update_attribute, onde um erro será gerado.

herdado por uma classe filho , a classe filho herdará os atributos somente leitura dos pais no momento de sua criação. A atualização do pai não se propaga para as classes filhas após as alas.

Exemplos:

Sinalize campos como somente leitura.

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

Parâmetros:

  • *nomes (Símbolo...)

    Os nomes dos campos.



70
71
72
73
74
75
# File 'lib/mongoid/attributes/readonly.rb', linha 70

def attr_readonly(*nomes)
  auto.readonly_attributes = auto.readonly_attributes.dup
  nomes.cada fazer |name|
    auto.readonly_attributes << database_field_name(name)
  end
end