2011-02-06 14 views
1

私はUserモデル、Workoutモデル、Exerciseモデルを持っています。私はユーザ管理のためにDeviseを使い、MongoIDはMongoDBと対話しています。コレクションを参照するコレクションを参照するコレクションのMongoIDクエリ

ユーザーreferences_many:
ワークアウトreferences_manyをワークアウト:referenced_inを行使する:ユーザー
練習referenced_in:私は私のすべてのリストを与えるためにデータベースを照会するにはどうすればよいのエクササイズ

current_user練習問題。私は練習コレクションにuser.idを保存しておらず、workout.idだけを保存しています。

エクササイズコレクションとワークアウトコレクションの両方にuser_idを格納するモデルを再作成する必要がありますか?

おかげ

答えて

2

どのようにこのようなものについて:

workout_ids = Workout.where(:USER_ID => current_user.id).all.collect {| W | w.id}

演習= Exercise.where(:workout_id => {=> workout_ids} "で$")

+0

おかげで私は、私はクラスのユーザーのオブジェクトをシリアル化することができないというエラーを取得します。http: //d.pr/myTZ – Hutch

+0

"current_user"ではなく "current_user.id"を渡すようにサンプルを更新しました。 – jared

関連する問題