पर शामिल होने वाले मॉडल पर मैं सृजन पर मॉडल में शामिल होने के लिए inverse_of
नहीं प्राप्त कर सकता। मुझे यकीन नहीं है कि यह एक बग है या बस इस तरह लागू नहीं किया गया है। मैं निम्नलिखित मॉडल:ActiveRecord: inverse_of has_many पर काम नहीं करता है:
class Challenge < ActiveRecord::Base
has_many :groups, :through => :group_challenges
has_many :group_challenges, :inverse_of => :challenge
attr_accessor :contact_ids
end
class GroupChallenge < ActiveRecord::Base
belongs_to :challenge, :inverse_of => :group_challenges
belongs_to :group, :inverse_of => :group_challenges
before_save :check_challenge
def check_challenge
Rails.logger.debug("challenge.contact_ids: #{challenge.contact_ids}")
end
end
class Group < ActiveRecord::Base
has_many :challenges, :through => :group_challenges
has_many :group_challenges, :inverse_of => :group
end
contact_ids
मेरी challenge
का एक आभासी विशेषता है, और मैं group_challenges
मॉडल में इन का उपयोग करने की जब कि संघ बनाई गई है चाहते हैं। मैं इसे काम नहीं कर सकता। यहाँ एक उदाहरण है:
challenge = Challenge.new :groups => Group.all, :contact_ids => [1,2,3]
# log output => challenge.contact_ids: []
हालांकि inverse_of
करता है काम जब मॉडल पुनः लोड कर रहे हैं
challenge.reload
challenge.group_challenges.first.challenge.contact_ids
# log output => challenge.contact_ids: [1,2,3]
किसी को भी अगर यह सिर्फ एक डिजाइन या कार्यान्वयन में inverse_of की सीमा नहीं बल्कि एक बग है पता है?
मुझे एक ही समस्या है। – rafamvc