20
शून्य

मैं अपेक्षाकृत विकास रेल के लिए नया हूँ और मैं एक छोटी सी संघों समस्या आ रही है। मैं एक एसोसिएशन को उस मॉडल से अलग करना चाहता हूं जो उससे जुड़ा हुआ है।रेल रिटर्न

मैं निम्नलिखित 2 मॉडल:

class User < ActiveRecord::Base 
    has_many :events 
end 

class Event < ActiveRecord::Base 
    belongs_to :admin, :class_name => "User" # So we can call event.admin to retrieve the User who owns this Event 
end 

मैं एक उपयोगकर्ता का निर्माण इस प्रकार है:

irb> user = User.find(1) 
irb> user.events 
=> [#<Event id: 1, title: "New Event", user_id: 1, created_at: "2011-06-09 06:41:09", updated_at: "2011-06-09 06:41:10">] 

irb> event = Event.find(1) 
irb> event.user_id 
=> 1 
irb> event.admin 
=> nil 

:

event = event.create! :title => "New Event" 

user = User.create! :username => "thinkswan" 
user.events << event 
user.save 

जब मैं कंसोल में हॉप मैं इन्हें प्राप्त क्या कोई यह समझा सकता है कि admin एसोसिएशन उपयोगकर्ता को वापस क्यों नहीं कर रहा है? धन्यवाद!

+5

+1 .. मैं अंत में समझ ':' belongs_to' की class_name' विकल्प मतलब .. [डॉक्स] में उदाहरण (http://guides.rubyonrails.org/v2.3.11/association_basics.html) स्पष्ट नहीं था – abbood

उत्तर

46

उदाहरण के लिए आप दोनों :class_name और :foreign_key, निर्दिष्ट करना होगा: आपके सवाल का बड़ा आदमी में एक अच्छा उदाहरण सहित के लिए

belongs_to :admin, :class_name => "User", :foreign_key => "user_id" 
+0

मुझे पता था कि यह एक साधारण बात होगी। बहुत बहुत धन्यवाद, जिट्स! मैं इसकी सराहना करता हूं! –

+0

कोई समस्या नहीं है। भविष्य में देखने के लिए एक :) :) – Jits

+0

आप दोनों को जयकार करते हैं, मुझे अंततः समझ में आया कि: व्यवस्थापक परिवर्तनीय नाम है, न कि class_name! – njzk2

संबंधित मुद्दे