2011-01-17 16 views
9

प्रस्तुत करने का प्रयास करते समय स्थानीय चर हमेशा शून्य होता है, संग्रह को प्रस्तुत करने का प्रयास करते समय मुझे आंशिक रूप से एक अजीब समस्या मिल रही है, मैंने विभिन्न दृष्टिकोणों का भी प्रयास किया है। ,आंशिक

<%= render 'item', :collection => @foo.items %> 
<%= render 'item', :collection => @foo.items, :as => :item %> 

<% @foo.items.each do |item| %> 
    <%= render 'item', :locals => {:item => item} %> 
    <%= render 'item', :object => item %> 
<% end %> 

उन परिदृश्यों आंशिक सिर्फ शून्य आउटपुट में से प्रत्येक में लेकिन यदि:

<pre><%= item.inspect -%></pre> 

और यहाँ इसका इस्तेमाल करने के लिए अपने प्रयास कर रहे हैं:

यहाँ मेरी आंशिक कोड (डीबगिंग के लिए) है मैं अपने प्रत्येक लूप के अंदर item.inspect पॉप करता हूं ऑब्जेक्ट विवरण अपेक्षित के रूप में प्रदर्शित होते हैं।

एकमात्र चीज जो मैंने सोचा था कि एक समस्या हो सकती है यह है कि items एसोसिएशन एक अलग वर्ग के लिए मैप किया गया एक छोटा नाम है, इसलिए मैंने सोचा कि रेल 3 ऑटोमैजिक चीज उस वर्ग के नाम से मेल खाने के लिए एक चर को असाइन कर सकती है, हालांकि अगर मैं कोशिश करता हूं और आउटपुट करता हूं कि मुझे 'अपरिभाषित स्थानीय चर त्रुटि' मिलती है।

मुझे आशा है कि मैं कुछ मूर्खतापूर्ण दिख रहा हूं।

उत्तर

10

क्या आपने इसे पहले से ही आजमाया है? -

<% @foo.items.each do |item| %> 
    <%= render 'item', :item => item %> 
<% end %> 

अद्यतन

यहाँ के संग्रह के लिए एक अनुमान है:

<%= render :partial => 'item', :collection => @foo.items, :as => :item %> 
+0

मैं बहुत यकीन है कि मैं उन सभी रूपों मैंने कोशिश में था, लेकिन मुझे नहीं लगता है कि यह काम करने लगता है के रूप में किया गया था। अभी भी अजीब लगता है (और कष्टप्रद) कि मैं काम करने के लिए संग्रह नहीं मिल सकता है। – DEfusion

+0

अच्छा, अगर यह काम करता है तो अच्छी बात है। मैंने कुछ जोड़ा है जो मैं अभी भी संग्रह से संबंधित प्रयास करता हूं। – polarblau

+6

वाह यदि आप इसमें शामिल नहीं हैं: आंशिक => 'आइटम' भाग और केवल आंशिक नाम के नए रेल 3 शॉर्टेंड का उपयोग करें, यह काम नहीं करता है, लेकिन विशिष्ट होने से यह काम करता है। – DEfusion

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