1)インスタンスオブジェクトによる検索モンゴイ文法の質問
私は@topicというインスタンスオブジェクトがあるとします。私はこのトピックの答えを検索したい。私は渡すことができるはずだと思っていた:topics => @ topicしかし、私は以下の非常に醜い質問をしなければならなかった。
@answers = Answers.where(:topic_ids => {"$in" => [@topic.id]})
2)idの文字列表現を取得しています。私はカスタム関数を持っています(下記参照)。しかし、これは非常に共通の要件ではないでしょうか?あなたのアソシエーションが正しく設定されている場合
def sid
return id.to_s
end
うーん、あなたが与えた例が動作するようには思えない - 私は何も悪いことをやっていますか? @answers = @ user.answers.where(:topic_ids.in => @ topic.id) –
申し訳ありませんが、私は間違った道を導いた。このタイプのクエリには '$ in'演算子(または' .in' Mongoid Symbol拡張子)を使うべきではありません。更新された回答をご覧ください。 – bowsersenior