次のようなネストされたフォームがあります。
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 %>
動作しますが、これが良いかどうかはわかりません。取得する良い方法はありますか?