के साथ रेल 3 में inverse_of की सीमाएं क्या हैं I inverse_of के बारे में पढ़ रहा हूं और जो कुछ भी मैं ऑनलाइन देख रहा हूं वह असंगत लगता है और मुझे भ्रमित करता है। आप here देखो, तो आप देख सकते हैंActiveRecord
समर्थन inverse_of लिए कुछ सीमाएं हैं:
- वे साथ काम नहीं करते: संघों के माध्यम से।
- वे पॉलिमॉर्फिक संघों के साथ काम नहीं करते हैं।
- वे साथ काम नहीं करते: एसोसिएशन के रूप में।
- संबंधित संगठनों के लिए, has_many व्यस्त संघों को अनदेखा कर दिया गया है।
अभी तक सही है कि इसके बाद के संस्करण, वे इस उदाहरण
class Customer < ActiveRecord::Base
has_many :orders, :inverse_of => :customer
end
class Order < ActiveRecord::Base
belongs_to :customer, :inverse_of => :orders
end
मुझे लगता है कि वे क्या कह रहे हैं पहले inverse_of कुछ नहीं करता है, लेकिन यदि ऐसा है तो वे इसे क्यों किया दे सकता है?
इसके अलावा, यहां तक कि, ऊपर बात कहते हैं inverse_of संबद्धताएं के माध्यम से साथ काम नहीं करता है, हालांकि this page कहते
आप में शामिल होने के मॉडल पर एक belongs_to का उपयोग कर रहे हैं, तो यह निर्धारित करने के लिए एक अच्छा विचार है: संघ के माध्यम से): inverse_of> belongs_to पर विकल्प है, जो मतलब है कि निम्न उदाहरण सही ढंग से काम करता है जहां> टैग एक has_many है
और इस उदाहरण देता
@post = Post.first
@tag = @post.tags.build :name => "ruby"
@tag.save
अंतिम पंक्ति को रिकॉर्ड (टैगगेल) के माध्यम से सहेजना चाहिए। इस सब असंगत और अत्यधिक भ्रामक लगता है मेरे लिए
class Taggable < ActiveRecord::Base
belongs_to :post
belongs_to :tag, :inverse_of => :taggings
end
: inverse_of सेट है: यह तभी> काम करेंगे। लेकिन आम तौर पर, मुझे हर रिश्ते पर उलटा कहने में कोई हानि नहीं होती है। क्या यही समस्या है? मैंने देखा है कि बहुत से लोग इस पर पूछते हैं और किसी से भी ठोस हां या नहीं देखा है।