संक्षिप्त: मेरे पास एक विदेशी कुंजी विशेषता है और यह जानना है कि उस विदेशी कुंजी फ़ील्ड की कक्षा (या संदर्भ तालिका) क्या है।केवल विदेशी कुंजी विशेषता के आधार पर एक एसोसिएशन की कक्षा क्या है?
प्रसंग:
दिया 2 टेबल: users(id, [other fields])
और issues(id, user_id, assigned_to, [other fields])
यहाँ जारी करने की मेरी सक्रिय रिकॉर्ड (अप्रासंगिक भागों निकाले जाते हैं)
class User < ActiveRecord::Base
...
end
class Issue < ActiveRecord::Base
belongs_to :user
belongs_to :assigned_user, :foreign_key => 'assigned_to', :class_name => 'User'
...
end
मैं एक उपयोगकर्ता पठनीय परिवर्तन लॉगिंग बनाना चाहते है । जैसे असाइन किए गए उपयोगकर्ता को बदलते समय मैं इस तरह का संदेश प्राप्त करना चाहता हूं: Assigned to is changed from Otto to Zoltan
। ActiveRecord में changes
फ़ंक्शन है जो एक अच्छा प्रारंभिक बिंदु है लेकिन यह मुझे केवल संदर्भ आईडी-एस देता है। नामों में अनुवाद करने के लिए मुझे आईडी द्वारा उपयोगकर्ता को पढ़ने की जरूरत है।
एसोसिएशन :user
के लिए यह काफी आसान है क्योंकि मुझे केवल सम्मेलनों का पालन करना है। लेकिन assigned_to
विशेषता के लिए एक ही जानकारी कैसे प्राप्त करें (मैं एक सामान्य समाधान बनाना चाहता हूं)? क्या यह पता लगाना संभव है कि क्या हमारे पास दिए गए गुण के लिए सहयोग है या नहीं? क्या हम उस संगठन की कक्षा निकाल सकते हैं?
आपके दस्तावेज़ लिंक काम नहीं कर रहे हैं। साथ ही, क्या पूर्ण नामस्थान प्राप्त करने का कोई तरीका है? 'MyModule :: उपयोगकर्ता' –
आह की तरह, आप नामस्थान प्राप्त करने के लिए प्रतिबिंब.क्लास को कर सकते हैं। –