2011-11-14 8 views
3

私はこのRailsのクエリが限界

pictures = Picture.near([latitude, longitude], 6.8).where("created_at >= :time",{:time => time }) 

のような絵のクエリを持っていると私は私が使用しそう

@tags = Tag.find(:all, :conditions => ["picture_id in (?)",pictures.collect(&:id)]) 

のように、このモデル(すべての絵has_many :tags)に関連付けられたタグを取り出しました各タグの属性を引き出すためのクエリ

@tags.map(&:tagcontent) 

私がする必要があるのは、タグの結果を制限することです帽子が出てきます。私はこの

numoftags = 6 
tags = Tag.limit(numoftags).find(:all, :conditions => ["picture_id in (?)",pictures.collect(&:id)]) 

@tags = Tag.find(:all, :conditions => ["picture_id in (?)",pictures.collect(&:id)]) 

を交換しますが、この唯一の利回り4個のタグ、私は引き出すことができる少なくとも6が存在しているはず。この機能をどのように変更する必要がありますか。

あなたは(ARELを使用して)このような何かを行うことができますRailsの3.Xで
+0

あなたのログから、あなたのコードが生成されたSQLクエリを投稿してください。 – jdl

+0

@jdl申し訳ありませんが、私はそれを見つけることができるかわからない – jack

+0

RAILS_ROOT/log/development.log(またはこれを実行している環境) – jdl

答えて

1

numoftags = 6 
@tags = Tag.where(["picture_id in (?)",pictures.collect(&:id)]).limit(nooftags) 
+0

これは私のアプリのどこかでエラーを発生させました(修正済みですが、残しておかなければなりませんでした)。あなたのソリューションを出してください)、それは十分に説明していないのは完全に私のせいでしたが、これは私が求めたものを正確に解決しました – jack