SORU
10 ŞUBAT 2011, PERŞEMBE


Raylar vs yeni 3 kurmak

Raylar 3 docs dernekler build yöntem yabancı anahtar otomatik atama ile new yöntemi olarak aynı olarak, ama tarif edilir. Doktorlar düz:

Firm#clients.build (similar to Client.new("firm_id" => id))

Benzer başka bir yerde okudum.

new kullanırken ancak, (some_firm.clients.new örneğin herhangi bir parametre olmadan), yeni müşteri firm_id Derneğiotomatik olarak oluşturulan. Sonuçlar konsolda şu an ona bakıyorum!

Bir şey mi kaçırdım? Doktorlar tarih (ihtimal) biraz? build new arasındaki fark nedir?

CEVAP
10 ŞUBAT 2011, PERŞEMBE


Biraz doktorlar yanlış yorumluyorsun. some_firm.client.new oluşturma Yeni Client nesneden müşterilerine toplama ve otomatik olarak set firm_id some_firm.id, oysa doktorlar diyor Client.new hiçbir bilgiyi, Firmanın kimliği, tüm ihtiyacı firm_id iletilmiş.

some_firm.clients.new some_firm.clients.build arasındaki tek fark build ayrıca yeni oluşturulan clients tahsilat için Müşteri: ekler gibi görünüyor

henrym:~/testapp$ rails c
Loading development environment (Rails 3.0.4)
r:001 > (some_firm = Firm.new).save   # Create and save a new Firm
 => true 
r:002 > some_firm.clients         # No clients yet
 => [] 
r:003 > some_firm.clients.new     # Create a new client
 => #<Client id: nil, firm_id: 1, created_at: nil, updated_at: nil> 
r:004 > some_firm.clients         # Still no clients
 => [] 
r:005 > some_firm.clients.build   # Create a new client with build
 => #<Client id: nil, firm_id: 1, created_at: nil, updated_at: nil> 
r:006 > some_firm.clients         # New client is added to clients 
 => [#<Client id: nil, firm_id: 1, created_at: nil, updated_at: nil>] 
r:007 > some_firm.save
 => true 
r:008 > some_firm.clients         # Saving firm also saves the attached client
 => [#<Client id: 1, firm_id: 1, created_at: "2011-02-11 00:18:47",
updated_at: "2011-02-11 00:18:47">] 

Eğer oluşturma bir nesne ile bir dernek build tercih edilmelidir new olarak inşa tutar bellek içi nesne some_firm (bu durumda) tutarlı bir duruma daha önce herhangi bir nesne olması, bir veritabanına kaydedilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • hytchme

    hytchme

    9 Mart 2014
  • PhoneBuff

    PhoneBuff

    10 HAZİRAN 2011