自从我开展任何Rails开发以来已经过了几年。曾经有一种方法以一对一的关系访问子属性,作为该模型的属性。
例如,如果您有两个模型:Person
和Address
,并且它们之间的关系为1:1,则可以撤回@person.zip_code
,而不是@person.address.zip_code
}。
当您可以在模型中明确定义可访问属性时,这很容易做到。现在Rails 4中似乎已经消失了。
有什么想法吗?
答案 0 :(得分:0)
它仍然可以在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
等选项。