2010-03-09 6 views

उत्तर

59

ऑब्जेक्ट को पारित करने के लिए आपके पास प्रोजेक्ट मॉडल में accepts_nested_attributes_for होना चाहिए।

class Project < ActiveRecord::Base 
    has_many :tasks 
    accepts_nested_attributes_for :tasks ## this is required 
end 
+1

आपने मेरा जीवन बचाया .. धन्यवाद! – asiniy

+0

इस पर मेरे सिर को लगभग 9 0 मिनट तक टक्कर लगी। वाह। – DanSingerman

+0

हर 6 महीने के बारे में मैं इसे जोड़ना भूल जाता हूं, इसलिए परेशान है कि इसके लिए कोई समझदार त्रुटि नहीं है। लेकिन मुझे लगता है कि स्वचालित रूप से पता लगाना मुश्किल हो सकता है। –

11

fields_for की आवश्यकता है कि विधि tasks_attributes= मौजूद है। accepts_nested_attributes_for :tasks आप के लिए इस विधि बनाता है, लेकिन आप भी इसे अपने आप को परिभाषित कर सकते हैं:

def tasks_attributes=(params) 
    # ... manually apply attributes in params to tasks 
end 

जब इस विधि मौजूद नहीं है, builder.object नहीं के बराबर किया जा रहा समाप्त होता है।

+0

धन्यवाद कि वास्तव में सहायक था – mrageh

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