Rails'de .build yöntemiyle ilgili herhangi bir belge bulamadım (şu anda 2.0.2 kullanıyorum).
Deneme yoluyla, has_many
her iki kayıt da kaydedilmeden önce bir ilişkiye kayıt eklemek için inşa yöntemini kullanabileceğiniz görülüyor .
Örneğin:
class Dog < ActiveRecord::Base
has_many :tags
belongs_to :person
end
class Person < ActiveRecord::Base
has_many :dogs
end
# rails c
d = Dog.new
d.tags.build(:number => "123456")
d.save # => true
Bu, hem köpeği hem de etiketi yabancı anahtarlarla doğru şekilde kaydedecektir. Bu bir belongs_to
ilişkide işe yaramıyor gibi görünüyor .
d = Dog.new
d.person.build # => nil object on nil.build
Ben de denedim
d = Dog.new
d.person = Person.new
d.save # => true
Yabancı anahtar Dog
, kaydedildiği anda yeni kişinin henüz kaydedilmediğinden bir kimliği olmadığı için bu durumda ayarlanmamıştır.
Sorularım:
Rails'in kayıtların doğru sırayla nasıl kaydedileceğini anlayacak kadar akıllı olması için nasıl inşa edilir?
Bir
belongs_to
ilişkide aynı şeyi nasıl yapabilirim ?Bu yöntemle ilgili herhangi bir belgeyi nerede bulabilirim?
teşekkür ederim
belongs_to
" ve "tarafından Yöntemleri Eklendihas_one
" . API belgelerinde daha fazla teknik belge bulunabilir:belongs_to
vehas_one
.