2012-06-13 12 views
6

के साथ संग्रह में सभी दस्तावेजों को ढूंढना मैं मोंगो के साथ झुका रहा हूं, लेकिन काम करने के लिए यह सरल उदाहरण नहीं मिल सकता है। मैं बस एक संग्रह में सभी दस्तावेजों प्राप्त करने का प्रयास कर रहा हूँ: undefined method 'each' for Category:Class (NoMethodError).Mongoid

डेटाबेस के लिए कनेक्शन अच्छी तरह से स्थापित है, और categories नाम का एक संग्रह में कुछ दस्तावेज शामिल हैं:

require 'mongoid' 

# configuration ...  

class Category 

    include Mongoid::Document 
    field :name, type: String 

end 

Category.each do |test| 
    puts test.inspect 
end 

मैं त्रुटि मिलती है।

उत्तर

12

Category वास्तव में कोई विधि नहीं है each क्योंकि यह एक मॉडल वर्ग है, संग्रह नहीं है। हालांकि, कई विधियां हैं जो संग्रह-जैसी वस्तुओं को वापस करती हैं। उनमें से एक all है। तो कोड इस तरह दिखना चाहिए:

Category.all.each do |test| 
    puts test.inspect 
end 
+0

क्या श्रेणी.all.count और Category.count के बीच कोई प्रदर्शन प्रभाव है? –

+0

@ManojMJ: नहीं, यह वही प्रश्न है। –

+1

यह काम करता है, लेकिन दस्तावेजों o_0 में मुझे इसका कोई संदर्भ नहीं मिल रहा है? – rocketspacer