2011-03-02 11 views
12

मैं रेल 3 के भीतर Googlemaps प्रदर्शित करने के लिए कुछ अलग रत्नों का उपयोग करने की कोशिश कर रहा हूं और कई समस्याएं हैं।रूबी/रेल - कक्षा बनाने के लिए और इसे नियंत्रक से कैसे एक्सेस करें

सौभाग्य से मुझे यह https://github.com/YouthTree/bhm-google-maps मिला जो एक सहायक है और ऐसा लगता है कि यह दूसरों के लिए काम करता है।

मैंने इसे ठीक से स्थापित किया है लेकिन रीडमे https://github.com/YouthTree/bhm-google-maps/blob/master/README.md में यह ऑब्जेक्ट के दृश्य में प्रदर्शित करने के लिए कक्षा बनाने का उल्लेख करता है।

उदाहरण वे दे दी है

class Location 
    attr_accessor :address, :lat, :lng 
    def initialize(address, lat, lng) 
     @address = address 
     @lat = lat 
     @lng = lng 
    end 
    def to_s; address.to_s; end 
end 

और फिर

<%= draw_map_of Location.new("My House", 12.345, 56.789) %> 
ध्यान में रखते हुए

चल रहा था।

यह काफी आसान लगता है लेकिन मुझे रेल में पहले कक्षा बनाने की आवश्यकता का अनुभव नहीं हुआ है, इसलिए मेरे कुछ प्रश्न हैं।

क्या मुझे कोई स्थान.आरबी फ़ाइल बनाना चाहिए और उपरोक्त कोड को इसमें रखना चाहिए, लेकिन मुझे फ़ाइल कहां रखना चाहिए? (मॉडल फ़ोल्डर, अनुप्रयोग फ़ोल्डर ????)

क्या मेरे नियंत्रक के भीतर इस कक्षा को बनाने का कोई तरीका है?

आदर्श रूप से मैं अक्षांश के रूप में अक्षांश/lng मानों में हेरफेर करना चाहता हूं और गतिशील मानचित्र प्रदर्शित करना चाहता हूं।

उत्तर

23

आपको location.rb रखना चाहिए जहां भी आपको लगता है कि यह सबसे अधिक समझ में आता है। app/models/location.rb पर यह सुनिश्चित करेगा कि आपका ऐप शुरू होने पर स्वचालित रूप से आवश्यक हो, लेकिन कुछ लोग उम्मीद करते हैं कि app/models में कक्षाएं ActiveRecord द्वारा समर्थित हैं।

यदि आप चाहें तो इसे lib/ के तहत भी डाल सकते हैं।

यह एप्लिकेशन के लिए उपलब्ध बनाने के लिए, आपको शामिल कर सकते हैं अपने config फ़ोल्डर के अंदर परियोजना initializers में बयान की आवश्यकता होती है:

require "#{RAILS.root}/lib/location.rb 

अपने नियंत्रक के अंदर इसे बनाने के लिए के रूप में - निश्चित रूप से!

def show 
    @location = Location.new("My House", 12.345, 56.789) 
end 

और फिर अपने दृश्य में: यह सिर्फ एक वर्ग का एक और उदाहरण है

<%= draw_map_of @location %> 

मत भूलना - नीचे रेल सभी बिजली और शुद्ध रूबी का लचीलापन, इस्तेमाल किया जा करने के लिए तैयार है। आप केवल इतना सीमित नहीं हैं कि रेल आपको क्या देता है।

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

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