में जोड़ें विधि जोड़ना मेरे पास मॉडल श्रेणी और उत्पाद हैं। अगर मैं category.products << new_product
का उपयोग करता हूं तो आइटम सरणी में जोड़ा जाता है और रिकॉर्ड डेटाबेस में सहेजा जाता है। मैंने सरणी वर्ग में निम्न "जोड़ें" विधि जोड़ने का प्रयास किया और जब यह सरणी में new_product जोड़ता है, तो यह इसे डेटाबेस में सहेजता नहीं है। ऐसा क्यों है?ActiveRecord सरणी
class Array
def add(item)
self << item
end
end
अद्यतन:
collection_proxy.rb निम्न विधि है:
def <<(*records)
proxy_association.concat(records) && self
end
alias_method :push, :<<
तो निम्न एक्सटेंशन काम करता है:
class ActiveRecord::Relation
def add(*records)
proxy_association.concat(records) && self
end
end
समाधान:
CollectionProxy करने के लिए एक अन्य नाम जोड़ें:
class ActiveRecord::Associations::CollectionProxy
alias_method :add, :<<
end
क्योंकि रेल संघों सरणियों नहीं हैं, वे तो बस का दावा वे कर रहे हैं । –
तब वे क्या हैं? मैं एक "जोड़ें" विधि कैसे जोड़ सकता हूं? – Manuel