我有这3个型号:
class Car < ActiveRecord::Base
belongs_to :user
has_many :car_styles
has_many :styles, :through => :car_styles
end
class CarStyle < ActiveRecord::Base
belongs_to :car
belongs_to :style
end
class UserStyle < ActiveRecord::Base
belongs_to :style
belongs_to :user
end
class User < ActiveRecord::Base
has_many :cars
has_many :car_styles
has_many :styles, :through => :car_styles
端
我已登录用户( current_user )。我正在尝试选择所有车辆,其中 car style_id 与用户style_id 相同 - 我该怎么做?
提前感谢您的帮助
编辑:架构:
-id
-user_id
-car_id
-style_id
-user_id
-style_id
每个用户都保存了喜欢的样式 - 无论多少(但大约±5)。每张照片都添加了一个样式 - 再次无关紧要。
我想从当前用户添加的表格中选择所有具有相同样式的汽车。
答案 0 :(得分:1)
我想你在这里说的是你有三个主要模型:
汽车,用户和风格
CarStyle和UserStyle加入了吗?
如果是这样,你应该可以说:
Car.joins(:styles => [:users]).where(:users => {:id => current_user.id })
如果没有,你能用你的架构更新问题吗?