2010-09-23 14 views
6

यह वेब ढांचे के बारे में एक उच्च स्तरीय प्रश्न है, कि एक डेस्कटॉप ऐप डेवलपर के रूप में, मुझे बहुत ज्ञान नहीं है।रेल के साथ राफेल कनेक्टिंग

मैं एक वेब एप्लिकेशन बनाने की योजना बना रहा हूं जो डेटाबेस में संग्रहीत कुछ डेटा को विज़ुअलाइज़ करता है। मैं उपयोगकर्ता क्वेरी के लिए रेल का उपयोग करने की योजना बना रहा हूं। विज़ुअलाइज़ेशन के लिए, Raphael जेएस लाइब्रेरी अच्छी लगती है। क्या यह पुस्तकालय के साथ रेल को जोड़ने की कोशिश कर रहा एक बड़ा काम होगा?

इन 2 के लिए विकल्प के लिए कोई भी सिफारिश स्वागत है।

उत्तर

9

रेल और राफेल को जोड़ने के लिए वास्तव में बहुत कुछ करने की आवश्यकता नहीं है। राफेल एक जावास्क्रिप्ट लाइब्रेरी है, और इसलिए पूरी तरह से क्लाइंट पर चलता है, और रेल एक वेब अनुप्रयोग ढांचा है, जो सर्वर पर चल रहा है। उन्हें वास्तव में एकीकृत करने के लिए आपको केवल अपने पृष्ठ पर राफेल शामिल करना है, और जावास्क्रिप्ट से उपयोग करने के लिए प्रारूप में इसे डेटा प्रदान करना; जेएसओएन में डेटा प्रदान करने वाले रीस्टफुल कंट्रोलर्स का उपयोग क्लाइंट से XMLHttpRequest का उपयोग करके डेटा लोड करना आसान बनाना चाहिए, जिसे आप राफेल का उपयोग करके प्रदर्शित कर सकते हैं।

2

रयान बेट्स इस Railscasts में चार्ट (राफेल समेत) के बारे में बात करते हैं, मुझे यकीन है कि यह एक अच्छा प्रारंभिक बिंदु है।

2

राफेल एक स्वयं निहित जेएस लाइब्रेरी है, आपके द्वारा चुने गए सर्वर-साइड फ्रेमवर्क/भाषा वास्तव में महत्वहीन है। आप केवल एक दूसरे को प्लग नहीं कर सकते हैं, आपको यह पता लगाना होगा कि राफेल को उस प्रारूप के साथ कैसे आपूर्ति की जा सकती है, जिसकी अपेक्षा की जाती है। इस पर किसी अन्य ढांचे की तुलना में रेल बेहतर या बदतर नहीं होंगे।

0

कोई समस्या नहीं होनी चाहिए क्योंकि विशेष रूप से रेल 3 ने जेएस-लाइब्रेरी अज्ञेयवादी होने का मुद्दा बना दिया है।

एक त्वरित कर्सर खोज करना मैंने इस पुस्तकालय को देखा जो आपके विचार को योग्यता दे सकता है। पाई चार्ट नहीं दिखता है लेकिन अन्यथा यह अच्छा लगता है: Flot

वह विशेष लाइब्रेरी jQuery के साथ एकीकृत करने के लिए बनाई गई है, जो एक लोकप्रिय और अच्छी तरह से प्रलेखित जेएस लाइब्रेरी है जो रेल 3 बहुत अच्छी तरह से खेलती है।

0

यदि आप आलसी महसूस कर रहे हैं, तो आप gem का उपयोग कर सकते हैं जिसमें आपके लिए प्रासंगिक फ़ाइलें शामिल होंगी।

0

यह बहुत आसान है। राफेल एक जावास्क्रिप्ट लाइब्रेरी है ताकि इसका उपयोग करने के लिए, अपने ऐप/संपत्ति/जावास्क्रिप्ट फ़ोल्डर में रैफेल-min.js फ़ाइल डालें। तो फिर इस लाइन

एप्लिकेशन/विचारों/लेआउट/application.html.erb

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "raphael-min" %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %> 
... 

फिर जोड़ने के लिए, एप्लिकेशन/आस्तियों/जावास्क्रिप्ट/application.js फ़ाइल में अपने JavaScript कोड लिखें। यह काम करना चाहिए।

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