2012-01-20 10 views
8

एक मॉडल का एक उदाहरण बनाने के लिए कोशिश कर रहा है, मैं निम्न त्रुटि ...रेल 3.2: ArgumentError: पर तर्कों की गलत संख्या (2 1) बनाने

u = User.create 
# or .where(...).first_or_create 
# or .where(...).first_or_initialize 
ArgumentError: wrong number of arguments (2 for 1) 

किसी और के साथ एक ही समस्या हो रही है रेल 3.2?

उत्तर

17

आप अपने मॉडल के initialize विधि अतिभारित है? मेरे मामले में, मैं के साथ अतिभारित था:

def initialize(attributes=nil) 
    ... 
end 

कौन सा मैं करने के लिए तय करने के लिए किया था:

def initialize(attributes = nil, options = {}) 
    ... 
end 

रेल 3.2 में, प्रतिबद्ध 7c5ae0a88fc9406857ee362c827c57eb23fd5f95 (जोड़ी बड़े पैमाने पर काम सुरक्षा: के रूप में और: without_protection समर्थन AR.new तक) उपर्युक्त विधि में और तर्क जोड़े और यही कारण है कि मेरा पिछला कार्यान्वयन विफल रहा था।

+0

वाह, यह एक अद्भुत पकड़ है। त्रुटि संदेश और स्टैक ट्रेस इस के स्थान पर बिल्कुल कोई संकेत नहीं देता है। – Trejkaz

+0

धन्यवाद @Trejkaz –

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