我查询了这样的图片
pictures = Picture.near([latitude, longitude], 6.8).where("created_at >= :time",{:time => time })
我拿出与此模型相关的标签(每张图片has_many :tags
),如此
@tags = Tag.find(:all, :conditions => ["picture_id in (?)",pictures.collect(&:id)])
我使用查询来提取每个标记的属性
@tags.map(&:tagcontent)
我需要做的是限制出来的标签的结果。所以我换了
@tags = Tag.find(:all, :conditions => ["picture_id in (?)",pictures.collect(&:id)])
用这个
numoftags = 6
tags = Tag.limit(numoftags).find(:all, :conditions => ["picture_id in (?)",pictures.collect(&:id)])
但这只产生4个标签,当我知道至少有6个标签可以拔出时。我应该如何修改这个功能。
答案 0 :(得分:1)
在Rails 3.X中你可以做这样的事情(使用Arel)
numoftags = 6
@tags = Tag.where(["picture_id in (?)",pictures.collect(&:id)]).limit(nooftags)