我有这些模特:
class User < ActiveRecord::Base
has_many :car_votes
has_many :cars
end
class Car < ActiveRecord::Base
belongs_to :user
has_many :car_votess
end
class GameVote < ActiveRecord::Base
belongs_to :user
belongs_to :car
end
如果我想显示用户投票的汽车(并在用户投票的那天将输出分组):
@voted_cars = @user.car_votes.order('car_votes.created_at DESC').group_by { |r| r.created_at.to_date }
因此,在输出中,用户投票的所有汽车按用户投票的天数分组。
但我想根据car_votes.created_at
对输出进行分组,但根据cars.created_at
。怎么做?
提前谢谢。
答案 0 :(得分:1)
如果您的关联允许您这样做(在rails控制台上尝试):
@c = CarVote.first
puts @c.car.created_at
并且您获得了返回值而不是错误,那么您可以执行以下操作:
@voted_cars = @user.car_votes.order('car_votes.created_at DESC').group_by { |r| r.car.created_at.to_date }