私はMongoで動作するカスタムリレーションシップ名を取得しようとしています。カスタムレール/マングイード関係名が動作しない
"コラージュ"は、作業IDであるBSONフィールドで満たされたBSONドキュメントです。
Collage.create(slide_one: client.work.first.id, slide_two: client.work.second.id, slide_three: client.work.third.id)
このように、コラージュは作業IDでいっぱいのモンゴルレコードです。 @ collage.work_oneまたは@ collage.slide_one.work_one、@ collage.slide_one.workを書いて、自分が望む仕事に到達したいと考えています。
これらの関連付けをカスタムで命名することは無駄です。これまでのところ、私は2つのことを試しました:
これはmongoのウェブサイトでこれを行うと言われていますが、私がセットアップして@collage.work_one.inspectを呼び出すとnilになります。 collage.work_one.inspect @http://mongoid.org/docs/relations.html(ページの一番下)
collage.rb
has_one :work_one, class_name: 'Work', inverse_of: :slide_one
work.rb
belongs_to :slide_one, class_name: 'Collage', inverse_of: :work_one
文字通り
"nilを" 出力します。
。
私も
collage.rb
has_one :work_one, class_name: 'Work', as: :work_oneable
work.rb
belongs_to :work_oneable
を試してみました。しかし、それは私を与える:
uninitialized constant WorkOneable
任意のヘルプやアイデアがはるかに高く評価!
ありがとうございました!私はこのようにしていませんでしたが、後で使用するためにあなたの応答を私のメモリバンクに入れます:) – Nick