모듈: Mongoid::Persistable::Creatable::ClassMethods

다음에 정의됨:
lib/mongoid/persistable/creatable.rb

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#create(attributes = nil, &block) ⇒ 문서 | 배열<문서>

새 문서를 만듭니다. 이렇게 하면 새 문서가 인스턴스화되어 단일 호출에 삽입됩니다. 저장 통과 여부에 관계없이 항상 문서를 반환합니다.

예시:

새 문서 를 만듭니다.

Person.create(:title => "Mr")

여러 개의 새 문서를 만듭니다.

Person.create({ title: "Mr" }, { title: "Mrs" })

매개변수:

  • 속성 (해시 | 배열) (기본값: nil)

    생성할 속성 또는 여러 문서에 대한 여러 속성의 배열입니다.

반환합니다:

  • (문서 | 배열<문서>)

    새로 생성된 문서입니다.



144
145
146
147
148
149
150
151
152
153
154
# 파일 'lib/mongoid/persistable/creatable.rb', 줄 144

def create(속성 = nil, &차단)
  _creating do
    만약 속성.is_a?(::배열)
      속성.map { |attrs| create(attrs, &차단) }
    other
      doc = 신규(속성, &차단)
      doc.저장
      doc
    end
  end
end

#create!(attributes = nil, &block) ⇒ 문서 | 배열<문서>

새 문서를 만듭니다. 이렇게 하면 새 문서가 인스턴스화되어 단일 호출에 삽입됩니다. 저장 통과 여부에 관계없이 항상 문서를 반환하고 유효성 검사에 실패하면 오류가 발생합니다.

예시:

새 문서 를 만듭니다.

Person.create!(:title => "Mr")

여러 개의 새 문서를 만듭니다.

Person.create!({ title: "Mr" }, { title: "Mrs" })

매개변수:

  • 속성 (해시 | 배열) (기본값: nil)

    생성할 속성 또는 여러 문서에 대한 여러 속성의 배열입니다.

반환합니다:

  • (문서 | 배열<문서>)

    새로 생성된 문서입니다.



171
172
173
174
175
176
177
178
179
180
181
182
# 파일 'lib/mongoid/persistable/creatable.rb', 줄 171

def 생성!(속성 = nil, &차단)
  _creating do
    만약 속성.is_a?(::배열)
      속성.map { |attrs| 생성!(attrs, &차단) }
    other
      doc = 신규(속성, &차단)
      doc.fail_due_to_validation! 하지 않는 한 doc.insert.errors.비어 있나요?
      doc.fail_due_to_callback!(:create!) 만약 doc.new_record?
      doc
    end
  end
end