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

  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008
  • Pituvision

    Pituvision

    11 Mart 2006
  • Shylo Sharity

    Shylo Sharit

    27 EKİM 2011