class Agents << ActiveRecord::Base
belongs_to :customer
belongs_to :house
end
class Customer << ActiveRecord::Base
has_many :agents
has_many :houses, through: :agents
end
class House << ActiveRecord::Base
has_many :agents
has_many :customers, through: :agents
end
मैं Agents
मॉडल के लिए कैसे जोड़ूँ Customer
?
क्या यह सबसे अच्छा तरीका है?
Customer.find(1).agents.create(customer_id: 1, house_id: 1)
ऊपर कंसोल से ठीक काम करता है, लेकिन मुझे नहीं पता कि वास्तविक एप्लिकेशन में इसे कैसे प्राप्त किया जाए।
कल्पना कीजिए कि ग्राहक के लिए एक फॉर्म भरा जाता है house_id
जो इनपुट के रूप में भी लेता है । फिर क्या मैं अपने नियंत्रक में निम्नलिखित कार्य कर सकता हूं?
def create
@customer = Customer.new(params[:customer])
@customer.agents.create(customer_id: @customer.id, house_id: params[:house_id])
@customer.save
end
कुल मिलाकर मुझे भ्रम है कि has_many :through
तालिका में रिकॉर्ड कैसे जोड़ा जाए ?