Rails 作为自属性访问的一对一子属性
Rails One-to-one Child Attribute Accessed as Self Attribute
自从我进行任何 Rails 开发以来已经有几年了。曾经有一种方法可以以一对一的关系访问子属性作为该模型的属性。
例如,如果您有两个模型:Person
和 Address
,并且它们有 1:1 关系,您可以撤回 @person.zip_code
,而不是@person.address.zip_code
.
过去,当您可以在模型中明确定义可访问属性时,这很容易做到。看来这在 Rails 4.
中已经消失了
有什么想法吗?
它在 Rails 4.
中仍然可用
你想要的是delegate
方法。
class Address
belongs_to :person
end
class Person
has_one :address
delegate :zip_code, to: :address
end
现在您可以 @person.zip_code
.
请阅读 docs 以了解有关 prefix
和 allow_nil
等选项的更多信息。
自从我进行任何 Rails 开发以来已经有几年了。曾经有一种方法可以以一对一的关系访问子属性作为该模型的属性。
例如,如果您有两个模型:Person
和 Address
,并且它们有 1:1 关系,您可以撤回 @person.zip_code
,而不是@person.address.zip_code
.
过去,当您可以在模型中明确定义可访问属性时,这很容易做到。看来这在 Rails 4.
中已经消失了有什么想法吗?
它在 Rails 4.
中仍然可用
你想要的是delegate
方法。
class Address
belongs_to :person
end
class Person
has_one :address
delegate :zip_code, to: :address
end
现在您可以 @person.zip_code
.
请阅读 docs 以了解有关 prefix
和 allow_nil
等选项的更多信息。