Appfog でテスト アプリを実行しています。Appfog のドキュメントでは Mongomapper gem の使用が提案されていますが、私は自分のプロジェクトで Mongoid を使用しています。https://docs.appfog.com/services/mongodb
問題は次のとおりです。
Mongoid 関連付けは機能しませんが、ID はすぐそこにあります。
m = Movie.find_by(:name => "Argo")
m.actors
=> []
m.actor_ids
=> ["510a092553c205c294000040", "510a099b53c205c2940001ce", "510a09a553c205c2940001ef", "510a0a4653c205c2940003ca", "510a0aaa53c205c2940004b2"]
MongoHQ でホストされているデータベースを使用した場合、関連付けは正常に機能します。しかし、ネットワーク遅延がすべてのデータベースクエリの時間に追加されるため、アプリとデータベースを別々にホストしたくありません。
何が間違っている可能性があり、それを修正する方法はありますか?
アップデート:
appfog の Mongoid バージョンは 1.8.5 で、動作するローカル マシンの Mongoid バージョンは 2.2.0 です。
以下はどちらも同じです。
m.actors.metadata
=> #<Mongoid::Relations::Metadata
autobuild: false
class_name: Actor
cyclic: nil
dependent: nil
inverse_of: nil
key: actor_ids
macro: has_and_belongs_to_many
name: actors
order: nil
polymorphic: false
relation: Mongoid::Relations::Referenced::ManyToMany
setter: actors=
versioned: false>