我在Rails应用程序中有以下模型。
class Address < ActiveRecord::Base
belongs_to :addressable, :polymorphic => true
end
class Client < ActiveRecord::Base
has_one :address, :as => :addressable, dependent: :destroy
accepts_nested_attributes_for :address, :allow_destroy => true
has_many :invoices
end
class Invoice < ActiveRecord::Base
belongs_to :client
end
虽然我可以使用
检索客户端名称@invoice.client.name
我无法以类似的方式检索地址信息。
如何在视图中检索发票的地址属性?
答案 0 :(得分:0)
@ invoice.client.address 即aswer。但我建议您使用委托
http://en.wikipedia.org/wiki/Law_of_Demeter
http://api.rubyonrails.org/classes/Module.html#method-i-delegate
基本上这个想法是你可以这样做:@ invoice.client.address_street o better @ invoice.client_address_street