红宝石 – 覆盖了一个Mongoid模型的设置者和吸烟者

前端之家收集整理的这篇文章主要介绍了红宝石 – 覆盖了一个Mongoid模型的设置者和吸烟者前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法在Mongoid中覆盖模型的setter或getter?就像是:
class Project
  include Mongoid::Document
  field :name,:type => String
  field :num_users,type: Integer,default: 0
  key :name
  has_and_belongs_to_many :users,class_name: "User",inverse_of: :projects

  # This will not work
  def name=(projectname)
    @name = projectname.capitalize
  end
end

在不使用虚拟字段的情况下,可以覆盖名称方法吗?

解决方法

def name=(projectname)
  self[:name] = projectname.capitalize
end

猜你在找的Ruby相关文章