gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中访问父模型的实例变量?

转载 作者:行者123 更新时间:2023-12-05 08:02:43 26 4
gpt4 key购买 nike

我有两个通过 has_many/belongs_to 关联的模型。我在子模型中创建了一个类方法。但是我不知道如何从类方法中访问父模型的实例方法。这是我正在尝试做的事情的简化:

#User model
class User < ActiveRecord::Base
has_many :addresses

def first_name
"John"
end

def last_name
"Doe"
end
end

#Address model
class Address < ActiveRecord::Base
belongs_to :user

def self.full_name
parent.first_name + " " + parent.last_name
#returns full name of parent "John Doe"
end
end

我希望能够在 Rails 控制台中运行它并让它返回“John Doe”……但没有成功。有什么建议吗?

@user = User.first
@user.addresses.full_name

最佳答案

@user.addresses.full_name

这会返回一个数组,因此您需要从数组中选择一个对象,假设数组不为空。

@user.address.first.full_name

这有什么用?因为您可以从用户对象中获取全名,并且它不应该根据地址更改:(

class User < ActiveRecord::Base
has_many :addresses

def first_name
"John"
end

def last_name
"Doe"
end

def full_name
self.first_name + " " + self.last_name
end
end

现在您可以从@user 对象访问full_name

@user.full_name

关于ruby-on-rails - 如何在 Rails 中访问父模型的实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4129685/

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