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 }
작품! 정말 고맙습니다. –