[RUBY-ON-RAILS] 레일에 구축하고 새로운 차이점은 무엇입니까?
RUBY-ON-RAILS레일에 구축하고 새로운 차이점은 무엇입니까?
사람이 레일에 빌드 새로운 명령의 차이점이 무엇인지 말해 줄 수 있습니까?
해결법
-
==============================
1.새로운 특정 모델의 새로운 인스턴스입니다 :
새로운 특정 모델의 새로운 인스턴스입니다 :
foo = Foo.new
빌드는 AR 협회에서 새로운 인스턴스를 생성하는 것입니다 :
bar = foo.build_bar # (has_one or belongs_to)
또는
bar = foo.bars.build # (has\_many, habtm or has_many :through)
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
최신 정보
액티브에 정의 된 @의 toklands의 제안, 구축 당과 새로운 것은 별칭 : 관계 :
그래서 클래스 푸 has_many 바 경우, 다음과 같은 동일한 효과를 :
그리고!의 foo.new_record 경우?
-
==============================
2.새로운 및 빌드 문서에 따라 동일 https://github.com/rails/rails/blob/master/activerecord/lib/active_record/relation.rb
새로운 및 빌드 문서에 따라 동일 https://github.com/rails/rails/blob/master/activerecord/lib/active_record/relation.rb
-
==============================
3.레일 2.2 이전에, 당신은 자동으로 외국 키가 설정되어있는에 새로운 레코드를 위해 관계의 has_many / has_and_belongs_to_many 부분에 대한 빌드를 필요로했다. 예를 들면 :
레일 2.2 이전에, 당신은 자동으로 외국 키가 설정되어있는에 새로운 레코드를 위해 관계의 has_many / has_and_belongs_to_many 부분에 대한 빌드를 필요로했다. 예를 들면 :
user.timesheets.build
외래 키를 설정합니다. 나는 레일 2.2 이후, 새로운 빌드 has_many와 has_and_belongs_to_many 관계 같은 일을 생각한다.
-
==============================
4.사용하여 A 중첩 된 자원을 사용하여, 도면 양식에 대한 "거짓"객체를 생성하도록 사용시 I는 .new를 .build과의 차이를 관찰 하였다.
사용하여 A 중첩 된 자원을 사용하여, 도면 양식에 대한 "거짓"객체를 생성하도록 사용시 I는 .new를 .build과의 차이를 관찰 하였다.
.build는 PARENT_ID를 생성 .new를하지 않습니다
중첩 된 자원 예 : @ list.items (항목이 목록 아래에 중첩되는 경우)
@ list.items.build ... list_id로를 제외한 모든 무기 호 값으로 객체를 생성합니다.
Item.new 모든 전무 값으로, 새로운 항목 개체를 만듭니다.
그것은 나의 '쇼'페이지에서 보여 반복 할 때에 걸쳐 list.items @ 아니 문제 내가 더 아래 같은 '쇼'페이지 항목에 연관된 list_id로했다 (.build에 의해 생성 된 하나) 노출 반복을 list.items @ 다른 형태의 list.items @ 필요할 때까지,하지만 아무것도.
@ list.items.build => #
2.2.3 :002 > Item.all.build => #
2.2.3 :003 > Item.new => # 2.2.3 :004 >
-
==============================
5.빌드가 새 인스턴스로 호출을 채워하지만 새하지 않았다 시간이 있었다. 지금 레일 4 신규 및 빌드 채우기 새 인스턴스와 호출자에서. 당신이 아이디어를 얻으려면 그냥 콘솔에 놀러.
빌드가 새 인스턴스로 호출을 채워하지만 새하지 않았다 시간이 있었다. 지금 레일 4 신규 및 빌드 채우기 새 인스턴스와 호출자에서. 당신이 아이디어를 얻으려면 그냥 콘솔에 놀러.
from https://stackoverflow.com/questions/1253426/what-is-the-difference-between-build-and-new-on-rails by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 레일 : 액티브 쿼리 협회 값을 기준으로 (0) | 2020.03.01 |
---|---|
[RUBY-ON-RAILS] 레일 타임 스탬프 필드를 업데이트 자동으로 방지 할 수있는 방법이 있나요? (0) | 2020.03.01 |
[RUBY-ON-RAILS] 400 잘못된 요청 - 요청 헤더 너무 큰 쿠키 (0) | 2020.03.01 |
[RUBY-ON-RAILS] Gem.source_index는 사용 사양, 사용되지 않습니다. 나는 보석 또는 레일을 다시 설치해야합니까? (0) | 2020.03.01 |
[RUBY-ON-RAILS] 레일 사이 (> = 0)을 찾을 수 없습니다 [(젬 :: LoadError) (0) | 2020.03.01 |