我有一个数据库设置:
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])
在满足父级条件时返回所有子级的最佳实践/方法是什么?我应该在模型中加入一个方法吗?
我将使用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])