6

मैं इस दिन के साथ संघर्ष कर रहा हूं और यह पता लगाने में प्रतीत नहीं होता कि क्या गलत है। मैं पॉलिमॉर्फिक फ़ाइल अनुलग्नकों को मॉडल Item पर अनुमति देने का प्रयास कर रहा हूं, जो मॉडल Location से संबंधित है। मेरे मार्गों परिभाषित कर रहे हैं के रूप में:नेस्टेड_फॉर्म मणि के साथ त्रुटि: तर्कों की गलत संख्या (3 के लिए 4)

resources :locations do 
    resources :items 
    post :sort 
end 

resources :items do 
    resources :assets #model for attachments 
end 

मैं carrierwave और nested_form साथ वास्तव में ऐसा करने के बारे में a tutorial का पालन किया। सबकुछ सेट करने के बाद, Item मॉडल के लिए New कार्रवाई का अनुरोध करते समय मुझे निम्न त्रुटि मिलती है: wrong number of arguments (4 for 3)। यह मुझसे कहता है त्रुटि इस दृश्य की लाइन 7 पर हो रहा है:

<%= nested_form_for [@location, @item], :html => { :multipart => true } do |f| %> 
    <p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </p> 

    <%= f.fields_for :assets do |a_form| %> ### LINE 7 #### 
    <p> 
     <%= a_form.label :file %><br /> 
     <%= a_form.file_field :file %> 
     <%= a_form.hidden_field :file_cache %> 
    </p> 
    <%= a_form.link_to_remove "Remove this attachment" %> 
    <% end %> 

    <%= f.link_to_add "Add attachment", :assets %> 
    <p><%= f.submit %></p> 
<% end %> 

अगर मैं nested_form मणि का उपयोग नहीं करते और एक सामान्य form_for साथ दृश्य से शुरू, मैं कोई त्रुटि मिलती है और सफलतापूर्वक संलग्न करने के लिए कर रहा हूँ Item पर एक फ़ाइल। मैं मणि के बिना कोशिश कर सकता हूं और आगे बढ़ सकता हूं, लेकिन (जहां तक ​​मैं समझता हूं) nested_form कुछ कार्यक्षमताओं को स्वचालित करेगा जैसे फाइलों को हटाने और नए अनुलग्नक जोड़ने के लिए AJAX उत्पन्न करना।

मैं सोच रहा था कि अगर कोई इस त्रुटि में भाग गया है या जानता है कि मैं कौन सी गलती कर रहा हूं जिससे नेस्टेड_फॉर्म के साथ समस्याएं आ रही हैं? मैं समझता हूं कि त्रुटि का मतलब क्या है, बस यह सुनिश्चित न करें कि अतिरिक्त तर्क कहां/क्यों फेंक दिया जा रहा है। मैं आपको प्रदान की जा सकने वाली किसी भी अंतर्दृष्टि की सराहना करता हूं!

FYI करें मेरी देव स्थापना: रेल (3.1.0, 3.0.10), nested_form (0.1.1), carrierwave (0.5.7)

उत्तर

15

क्रम रेल 3.1 के साथ काम करने nested_form पाने के लिए, मैं करने के लिए किया था मणि में क्या है इसका उपयोग करने के बजाय github से नवीनतम खींचें। मेरे जेमफाइल में:

gem "nested_form", :git => "git://github.com/ryanb/nested_form.git" 
+0

धन्यवाद! मैं विश्वास नहीं कर सकता कि यह सब कुछ था। मैंने [इस पोस्ट] को देखा था (http://stackoverflow.com/questions/6655674/rails-simple-nested-form-for-fields-for-wrong-number-of-arguments) जहां टिप्पणी ने संस्करण का उल्लेख किया तिथि ... हालांकि मेरे संस्करण संख्याएं मेल खाती हैं और पोस्ट जुलाई से थी इसलिए मैंने माना कि रूबीगेम्स अपडेट किए गए थे और मैंने इसे कभी दूसरा विचार नहीं दिया। फिर से धन्यवाद, अपने समय की सराहना करते हैं। आप राज :) – Denny

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