[Ruby-on-rails] रूबी ऑन रेल्स। मैं सक्रिय रिकॉर्ड .बिल्ड विधि का उपयोग कैसे करूं: रिश्ते से संबंधित है?


Answers

@article = user.articles.build(:title => "MainTitle")
@article.save
Question

मैं रेल में .build विधि पर कोई दस्तावेज नहीं ढूंढ पा रहा हूं (मैं वर्तमान में 2.0.2 का उपयोग कर रहा हूं)।

प्रयोग के माध्यम से ऐसा लगता है कि रिकॉर्ड को सहेजने से पहले आप 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

यह विदेशी कुंजियों के साथ कुत्ते और टैग दोनों को ठीक से बचाएगा। यह संबंधों के संबंध में काम नहीं करता प्रतीत होता है।

d = Dog.new
d.person.build # => nil object on nil.build

मैंने भी कोशिश की है

d = Dog.new
d.person = Person.new
d.save # => true

इस मामले में Dog में विदेशी कुंजी इस तथ्य के कारण निर्धारित नहीं है कि उस समय यह सहेजा गया है कि नए व्यक्ति के पास आईडी नहीं है क्योंकि यह अभी तक सहेजा नहीं गया है।

मेरे प्रश्न हैं:

  1. काम कैसे काम करता है ताकि रेल सही तरीके से रिकॉर्ड को सहेजने के तरीके के बारे में समझ सकें?

  2. संबंधित संबंधों में मैं वही काम कैसे कर सकता हूं?

  3. इस विधि पर मुझे कोई दस्तावेज कहां मिल सकता है?

धन्यवाद