2011-11-16 32 views
10

मेरे पास श्रेणी और अन्य मॉडल उत्पाद नामक मॉडल है। उनके पास है_मैनी और संबंधित_ संबंध है। लेकिन मेरे विचारसंग्रह_ चयन विधि रेल में त्रुटि देता है 3.1.1

<p><%= f.collection_select(:product, :category_id, Category.all, :id, :name)%> 

में कोड मुझे

undefined method `merge' for :name:Symbol 

कोई सुराग क्या यह गलत है दे रहा है?

उत्तर

37

संभावना है कि आप कुछ इस तरह कर रहे हैं:

<%= form_for @product do |f| %> 

क्योंकि f पहले से ही product से जुड़ा हुआ है, तो आप अपने पहले तर्क के रूप में शामिल करने की आवश्यकता नहीं है, इसलिए यह सिर्फ होना चाहिए:

<%= f.collection_select :category_id, Category.all, :id, :name %> 

या, आप उपयोग नहीं कर सका f.:

<%= collection_select :product, :category_id, Category.all, :id, :name %> 
+0

गु मदद की धन्यवाद। क्या आप अवधारणा को समझा सकते हैं कि वहां क्या गलत था। मदद की सराहना की। –

+0

form_for का उपयोग करके प्रत्येक फ़ील्ड पर ': product' डालने की आवश्यकता को समाप्त कर देता है। इसे पढ़ें, यह इस बात के बारे में बात करता है कि यह 'एफ' भाग का विस्तार कैसे करता है: http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for –

+0

मैंने इस त्रुटि का सामना किया क्योंकि मैंने कोशिश की ट्विटर बूटस्ट्रैप के साथ उपयोग के लिए कस्टम form_helper को लागू करने के लिए। मैं रेल के लिए नया हूं, और जब मुझे आपका जवाब मिला, तो उसने वास्तव में मेरी आंखें खोलीं। धन्यवाद, आप के लिए, समस्या तय! बहुत बहुत शुक्रिया!! – MattSlay