现在我有这个
def index
@trips = Trip.all
end
我正在输出这样的数据:
- @trips.order('created_at desc').first(4).each do |trip|
- trip.trip_images.first(1).each do |image|
= trip.title_name.titleize
但是,我有一个与旅行相关的投票表(来自acts_as_votable gem)。我想知道我是否只能输出行程有一定票数的行程?
我可以得到这样的选票:
- @trips.order('created_at desc').first(4).each do |trip|
= trip.get_likes.size #this is where I can get the likes
- trip.trip_images.first(1).each do |image|
= trip.title_name.titleize
编辑
如果我这样做:
def index
@votes = ActsAsVotable::Vote.where(votable_type: 'Trip').group(:votable_id).count
@trips = Trip.where(@votes)
end
@votes
给了我这样的东西:
{195=>1, 106=>1, 120=>1, 227=>1, 247=>1, 264=>1, 410=>1}
我如何在trip只会获得ID的地方获得它?
编辑 2
我想我想通了...
def index
@votes = ActsAsVotable::Vote.where(votable_type: 'Trip').group(:votable_id).count
@trips = Trip.where(id: @votes.keys)
end
我得到了某种输出。有没有更好的办法?