模块: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
# File 'lib/mongoid/attributes/readonly.rb', line 70

def attr_readonly(*名称)
  self.readonly_attributes = self.readonly_attributes.dup
  名称. do |名称|
    self.readonly_attributes << database_field_name(名称)
  end
end