gpt4 book ai didi

ruby - 覆盖 Mongoid 模型的 setter 和 getter

转载 作者:数据小太阳 更新时间:2023-10-29 06:39:58 25 4
gpt4 key购买 nike

有没有办法在 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

name 方法可以在不使用虚拟字段的情况下被覆盖?

最佳答案

更好地使用

def name=(projectname)
super(projectname.capitalize)
end

方法

self[:name] = projectname.capitalize

可能很危险,因为重载会导致无限递归

关于ruby - 覆盖 Mongoid 模型的 setter 和 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com