मैं (। वर्तमान में 2.0.2 का उपयोग कर रहा हूँ) में .build विधि पर कोई भी दस्तावेज़ खोजने में असमर्थ रहा हूँ।
प्रयोग के माध्यम से ऐसा लगता है कि आप रिकॉर्ड has_manyबनाने से पहले किसी रिकॉर्ड में सहेजने के लिए बिल्ड विधि का उपयोग कर सकते हैं ।
उदाहरण के लिए:
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
यह कुत्ते और टैग दोनों को विदेशी कुंजी के साथ ठीक से बचाएगा। यह एक belongs_toरिश्ते में काम करने के लिए नहीं लगता है ।
d = Dog.new
d.person.build # => nil object on nil.build
मैंने भी कोशिश की है
d = Dog.new
d.person = Person.new
d.save # => true
Dogइस मामले में विदेशी कुंजी इस तथ्य के कारण सेट नहीं की गई है कि जिस समय इसे बचाया गया है, उस समय नए व्यक्ति के पास आईडी नहीं है, क्योंकि यह अभी तक सहेजा नहीं गया है।
मेरे प्रश्न हैं:
कैसे काम का निर्माण करता है ताकि रेल को यह पता लगाने में स्मार्ट हो कि रिकॉर्ड को सही क्रम में कैसे बचाया जाए?
मैं एक
belongs_toरिश्ते में एक ही काम कैसे कर सकता हूं ?मुझे इस पद्धति पर कोई दस्तावेज़ कहां मिल सकता है?
धन्यवाद
belongs_to" और "तरीके जोड़े गएhas_one" देखें । अधिक तकनीकी दस्तावेज एपीआई डॉक्स में पाए जा सकते हैं:belongs_toऔरhas_one।