コントローラーでの実際の操作では、たとえばUser.all.eachよりも複雑です。
@cars = Car.scoped
@cars = @cars.includes(:body_type, :brand, :city, :drive, :engine_type, :model, :region, :transmission)
@cars = @cars.select(['`cars`.*','`stats`.recount']).joins('left outer join stats on (cars.model_id = stats.model_id and cars.year = stats.year)')
@cars = @cars.limit(15)
およびモードおよびその他のロジック
ビューでは、このオブジェクトをレンダリングするだけで済みます
。私の例では、ビューで部分的にレンダリングを使用します。
= render @cars
およびview/_car.html.haml
- for car in @cars
.row-fluid.car
= car.price
= etc
したがって、ビューを変更したい
場合はビューを変更します収集プロセスの動作を変更したい
場合はコントローラーを変更しますオブジェクトの動作を変更したい場合はモデルを変更します
バグのあるものは
すべて厳密な順序で同じもの
が順序は良くて美しい