我有一个嵌套形式,如:
class House < ActiveRecord::Base
has_many :rooms
accepts_nested_attributes_for :rooms
attr_accessible :rooms_attributes
end
class Room < ActiveRecord::Base
has_one :tv
accepts_nested_attributes_for :tv
attr_accessible :tv_attributes
end
class Tv
belongs_to :user
attr_accessible :manufacturer
validates_presence_of :user
end
现在,我想知道 house.id = 1 总共有多少房间和电视。
在我给的houses_controller中
@houses = House.all
获取每栋房屋的房间数量非常简单,例如
<% for house in @houses %>
<%= house.rooms.count %>
<% end -%>
我的问题是如何获得电视计数?我现在正在使用这个
<%= house.rooms.map {|room| room.tvs.count}.sum %>
它有效,但我不确定这是否好。有没有更好的获取方式?