0
モデル定義に定義されたembeds_manyリレーションシップのすべてのキーを取得するにはどうすればよいですか? Model.attribute_names
を実行すると、ドキュメントスキーマで定義されたフィールドのキーだけが表示されます。モデル定義からすべてのembeds_manyリレーションシップキーを取得
モデル定義に定義されたembeds_manyリレーションシップのすべてのキーを取得するにはどうすればよいですか? Model.attribute_names
を実行すると、ドキュメントスキーマで定義されたフィールドのキーだけが表示されます。モデル定義からすべてのembeds_manyリレーションシップキーを取得
次のようにすべてのembedded_many関係を得ることができ、お使いのモデル名がUser
であると仮定すると:
embeds_many_relations = User.relations.select { |k, v| v.relation == Mongoid::Relations::Embedded::Many }
これはembeds_many関係のハッシュを返します。
キーを取得するには、次の
embeds_many_relations.map { |k, _| k }
をそして、あなたはすなわちembeds_many :phones, store_as: :phs
エイリアスを使用して関連付けを保存する場合は、あなたが呼び出すことにより、データベースのキーを取得することができます:魅力のような
embeds_many_relations.map { |_, v| v.key }
作品!どうもありがとうございます。 –