1

我有一个数据库设置:

User has_many :cars
Car  has_many :timeslips
Timeslip  has_one :car

我只需要在父 :car 具有某个 :user_id 时返回 :timeslips

在我的控制器中,我想说这样的话:

@timeslips = Timeslip.car.where(:user_id => params[:user_id])

当满足父母条件时,返回所有孩子的最佳做法/方法是什么?我应该在模型中做一个方法吗?

4

1 回答 1

1

我会使用 ActiveRecord 连接: http: //guides.rubyonrails.org/active_record_querying.html#joining-tables

@timeslips = Timeslip.joins("INNER JOIN cars on timeslips.car_id = cars.id").where("cars.user_id = ?", params[:user_id])
于 2013-07-17T20:30:01.870 回答