모듈: Mongoid::Association::Macro::ClassMethods

다음에 정의됨:
lib/mongoid/association/macros.rb

개요

연관 관계를 위한 클래스 메서드.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#exists_to(name, options = {}, &block) ⇒ 객체

자식 Document의 참조된 연관 관계를 다른 데이터베이스나 collection의 Document에 추가합니다.

예시:

연관 관계를 정의합니다.


class Game
  include Mongoid::Document
  belongs_to :person
end

class Person
  include Mongoid::Document
  has_one :game
end

매개변수:

  • 이름 (기호)

    연관 관계의 이름입니다.

  • 옵션 (해시) (기본값: {})

    연결 옵션.

  • &block

    확장을 정의하기 위한 선택적 블록입니다.



148
149
150
# 파일 'lib/mongoid/association/macros.rb', 줄 148

def exists_to(이름, 옵션 = {}, &차단)
  describe_association!(__method__, 이름, 옵션, &차단)
end

#embedded_in(name, options = {}, &block) ⇒ 객체

상위 문서 에 연관 관계를 다시 추가합니다. 이 매크로는 하위 문서에서 상위 문서 로 다시 참조를 설정하다 하는 데 필요합니다. 하위 항목이 이 연관 관계를 정의하지 않으면 하위 객체 에 대해 지속성 메서드를 호출하면 저장이 실패합니다.

예시:

연관 관계를 정의합니다.


class Person
  include Mongoid::Document
  embeds_many :addresses
end

class Address
  include Mongoid::Document
  embedded_in :person
end

매개변수:

  • 이름 (기호)

    연관 관계의 이름입니다.

  • 옵션 (해시) (기본값: {})

    연결 옵션.

  • &block

    확장을 정의하기 위한 선택적 블록입니다.



80
81
82
# 파일 'lib/mongoid/association/macros.rb', 줄 80

def embedded_in(이름, 옵션 = {}, &차단)
  describe_association!(__method__, 이름, 옵션, &차단)
end

#embeddeds_many(name, options = {}, &block) ⇒ 객체

상위 문서의 연관 관계를 해당 하위 문서에 추가합니다. 연관 관계의 이름은 자식 클래스 이름의 복수형이어야 합니다.

예시:

연관 관계를 정의합니다.


class Person
  include Mongoid::Document
  embeds_many :addresses
end

class Address
  include Mongoid::Document
  embedded_in :person
end

매개변수:

  • 이름 (기호)

    연관 관계의 이름입니다.

  • 옵션 (해시) (기본값: {})

    연결 옵션.

  • &block

    확장을 정의하기 위한 선택적 블록입니다.



103
104
105
# 파일 'lib/mongoid/association/macros.rb', 줄 103

def embeddeds_many(이름, 옵션 = {}, &차단)
  describe_association!(__method__, 이름, 옵션, &차단)
end

#embeddeds_one(name, options = {}, &block) ⇒ 객체

상위 문서의 연관 관계를 해당 하위 문서에 추가합니다. 연관 관계의 이름은 자식 클래스 이름의 단수형이어야 합니다.

예시:

연관 관계를 정의합니다.


class Person
  include Mongoid::Document
  embeds_one :name
end

class Name
  include Mongoid::Document
  embedded_in :person
end

매개변수:

  • 이름 (기호)

    연관 관계의 이름입니다.

  • 옵션 (해시) (기본값: {})

    연결 옵션.

  • &block

    확장을 정의하기 위한 선택적 블록입니다.



126
127
128
# 파일 'lib/mongoid/association/macros.rb', 줄 126

def embeddeds_one(이름, 옵션 = {}, &차단)
  describe_association!(__method__, 이름, 옵션, &차단)
end

#has_and_belongs_to_many(name, options = {}, &block) ⇒ 객체

이 문서 다수와 다른 문서 다수 간에 참조된 다대다 연관 관계를 추가합니다.

예시:

연관 관계를 정의합니다.


class Person
  include Mongoid::Document
  has_and_belongs_to_many :preferences
end

class Preference
  include Mongoid::Document
  has_and_belongs_to_many :people
end

매개변수:

  • 이름 (기호)

    연관 관계의 이름입니다.

  • 옵션 (해시) (기본값: {})

    연결 옵션.

  • &block

    확장을 정의하기 위한 선택적 블록입니다.



194
195
196
# 파일 'lib/mongoid/association/macros.rb', 줄 194

def has_and_belongs_to_many(이름, 옵션 = {}, &차단)
  describe_association!(__method__, 이름, 옵션, &차단)
end

#has_many(name, options = {}, &block) ⇒ 객체

상위 문서의 참조 연관 관계를 다른 데이터베이스 또는 컬렉션의 많은 문서에 추가합니다.

예시:

연관 관계를 정의합니다.


class Person
  include Mongoid::Document
  has_many :posts
end

class Game
  include Mongoid::Document
  belongs_to :person
end

매개변수:

  • 이름 (기호)

    연관 관계의 이름입니다.

  • 옵션 (해시) (기본값: {})

    연결 옵션.

  • &block

    확장을 정의하기 위한 선택적 블록입니다.



172
173
174
# 파일 'lib/mongoid/association/macros.rb', 줄 172

def has_many(이름, 옵션 = {}, &차단)
  describe_association!(__method__, 이름, 옵션, &차단)
end

#has_one(name, options = {}, &block) ⇒ 객체

자식 Document의 참조된 연관 관계를 다른 데이터베이스나 collection의 Document에 추가합니다.

예시:

연관 관계를 정의합니다.


class Game
  include Mongoid::Document
  belongs_to :person
end

class Person
  include Mongoid::Document
  has_one :game
end

매개변수:

  • 이름 (기호)

    연관 관계의 이름입니다.

  • 옵션 (해시) (기본값: {})

    연결 옵션.

  • &block

    확장을 정의하기 위한 선택적 블록입니다.



216
217
218
# 파일 'lib/mongoid/association/macros.rb', 줄 216

def has_one(이름, 옵션 = {}, &차단)
  describe_association!(__method__, 이름, 옵션, &차단)
end