2008-10-15 20 views
32

मैं एक PHP डेवलपर हूं जो रूबी का थोड़ा सा जानता है। मैं रेल पर रूबी सीखना चाहता हूं, लेकिन अधिकांश संसाधन जो मैंने आरओआर कार्यक्षमता को "जादू" के रूप में देखा है - यानी, इसमें एक निश्चित आंतरिक स्थिरता है, लेकिन यह पूछने से परेशान न हों कि यह रूबी के संदर्भ में कैसे काम करता है, MySQL, आदिरेल पर रूबी कैसे काम करती है?

वैसे भी, मुझे RoR कैसे काम करता है, डिजाइन निर्णय जो इसे बनाने में चला गया है, की गहरी समझ चाहिए। विशेष रूप से मुझे ActiveRecord में दिलचस्पी है, लेकिन वास्तव में मैं पूरे पैकेज की तलाश में हूं ।

कोई भी पुस्तकें/साइट्स/सलाह आपका स्वागत है।

http://www.tutorialspoint.com/ruby-on-rails-2.1/index.htm

यह अपने उदाहरण में MySQL मान लिया गया है:

+0

में इसे करने के लिए उपयोग कर सकते है खुद रेल की। इस [उत्तर] (http://stackoverflow.com/a/22155376/452885) इस पर [रेल के सम्मेलनों को समझने के समान प्रश्न] देखें (http://stackoverflow.com/questions/3554054/what-are- सभी-सम्मेलन-रूबी-ऑन-रेल) – GuruM

+0

यह भी देखें: [ActiveRecord - हुड अंडर द हूड] (http://weblog.jamisbuck.org/2006/11/20/under-the-hood-activerecord -बेस-फाइंड-पार्ट -2), [रूटिंग डीएसएल - हुड अंडर द हूड] (http://weblog.jamisbuck.org/2006/10/2/under-the-hood-rails-routing-dsl), [ रेल से बाहर निकलने वाले रेल] (http://guides.rubyonrails.org/routing.html) – GuruM

उत्तर

22

किताबें "रेल के साथ एग्इल वेब विकास" और "द रेल वे" दोनों बहुत अच्छी हैं। "प्रो सक्रिय रिकॉर्ड" वास्तव में सक्रिय रिकॉर्ड के लिए गहराई में चला जाता है, लेकिन बहुत अधिक स्पर्श नहीं करता है। पॉडकास्ट रेलस्कास्ट कभी-कभी सिर्फ जादू का उपयोग करता है, लेकिन कभी-कभी यह बताता है कि वास्तव में क्या चल रहा है। Art of Mission जैसे विभिन्न ब्लॉग आपकी तलाश में जा सकते हैं।

इसके अतिरिक्त, रूबी-डीबग मणि का उपयोग करके आपको क्या हो रहा है की एक बेहतर समझ मिलती है - आप दृश्यों के पीछे क्या चल रहा है में कदम उठा सकते हैं।

+2

मैं रेल पुस्तक के साथ एग्इल वेब विकास को दूसरा स्थान दूंगा। – tvanfosson

+1

गहरी समझ के लिए, मैं "द रेल्स वे" के साथ जाऊंगा – rickmzp

4

मैं इस साइट एक अच्छा प्रारंभिक संदर्भ पाया।

मुझे यकीन है कि आप "रेल ट्यूटोरियल पर रूबी" के लिए सिर्फ googling द्वारा ढेर और ढेर पा सकते हैं।

5

यह आपके प्रश्न का एक स्पर्शिक उत्तर है, लेकिन मैं भी PHP विकास से रूबी/रेल देव पर आया, और यह मेरे लिए एक बड़ा संक्रमण था। जैसा कि PHP devs, हम बात करने के लिए, और हूड के नीचे देखने से रोका नहीं जा रहा है, हम नट-किरकिरा में शामिल होने के लिए उपयोग किया जाता है।

डिज़ाइन द्वारा, रेल एक काला बॉक्स है। आपको लगभग एक भाषा के रूप में रेल सीखना है। यह वेब देव के बारे में सोचने का एक नया तरीका है, खासकर एक PHP देव के परिप्रेक्ष्य से, हालांकि यह विचार सामान्य रूप से प्रोग्रामिंग के लिए असामान्य नहीं है।

हुड के नीचे देखने के लिए परेशान नहीं होना "रेल मार्ग" चीजों को शुरू करने का सबसे अच्छा तरीका हो सकता है।

+2

मैं रेल के काले बॉक्स होने के बारे में असहमत हूं। यह खुला स्रोत है, और मैं अक्सर यह पता लगाने के लिए टुकड़ों को देखता हूं कि क्यों कुछ अजीब व्यवहार मैं उम्मीद नहीं कर रहा हूं। इसके अतिरिक्त, यदि आप थोड़ा सा देखते हैं, तो बहुत से लोग अपने ब्लॉग में विभिन्न टुकड़ों को पैच कर रहे हैं, और उनमें से कुछ को भी कोर को स्वीकार किया जाता है। –

+1

PHP, रूबी और रेल से आ रहा है एक पूरी दुनिया की तरह लग सकता है। यदि आपके पास कोडइग्निटर, केक या कोहाना के साथ अनुभव है तो यह रेल को आसान बनाने के लिए रेल बनाता है।एक बार जब आप PHP का उपयोग करने की कोशिश करना बंद कर देते हैं तो रुबी स्वयं सरल और सुरुचिपूर्ण है :) – robsymonds

+0

हुड के नीचे जाना बहुत आसान है, बस स्रोत खोलें, यह एक व्याख्या की गई भाषा है, आपको जिस स्रोत की आवश्यकता है वह आपके कंप्यूटर पर है आपको बस इसे पढ़ना है। मैं इससे असहमत हूं। – nitecoder

9

यदि आप वास्तव में जानना चाहते हैं कि यह कैसे काम करता है, तो आप केवल स्रोत कोड देख सकते हैं। online API docs आपको प्रलेखन पृष्ठ में प्रत्येक विधि का स्रोत कोड देखने देता है।

रेल में ActiveRecord मार्टिन फाउलर के Active Record pattern पर आधारित है। यह मूल रूप से एक ओआरएम (ऑब्जेक्ट-रिलेशनल मैपर) है। यह वास्तव में भी उतना ही परिष्कृत नहीं है जितना ओआरएम जाता है। Java Persistence with Hibernate में सामान्य ओआरएम अवधारणाओं का एक अच्छा अवलोकन है।

5

जामिस बक की blog पर लेखों की "की अच्छी श्रृंखला है जो रेल के आंतरिक पहलुओं के कुछ पहलुओं को कवर करती है।

+0

[ActiveRecord - हुड के तहत रेल] (http://weblog.jamisbuck.org/2006/11/20/under-the-hood-activerecord-base-find-part-2), [रूटिंग डीएसएल - रेल के तहत रेल हूड] (http://weblog.jamisbuck.org/2006/10/2/under-the-hood-rails-outing-dsl) – GuruM

13

कि अलग से जांच की जा सकती यहाँ दो क्षेत्रों के होते हैं:

  1. जनरल अवधारणाओं (जो डिजाइन पैटर्न, सूखी और सीओसी या यहाँ तक कि चपलता आदि जैसे सामान्य दृष्टिकोण सिद्धांतों में शामिल हैं) के बाद से वे कई के पीछे सिद्धांत होते हैं रेल में डिजाइन निर्णय। इन अवधारणाओं में से किसी भी रेल का स्वतंत्र रूप से अध्ययन किया जा सकता है (क्योंकि वे सामान्य प्रोग्रामिंग अवधारणाएं हैं)।किसी भी गहरी खुदाई से पहले इनकी कम से कम कुछ समझना अच्छा होता है। नेट पर ऐसे सामान्य सिद्धांतों के बारे में कई स्रोत हैं (उपरोक्त मार्टिन फाउलर की साइट ऐसी अवधारणाओं को समझने के लिए बेहतर स्रोतों में से एक है)।

  2. रेल इन अवधारणाओं को अपने कॉर्पस में लागू करता है। फिर, दो चीजों को ध्यान में रखना है। चूंकि रेल अपनी मां भाषा की विशेषताओं का भारी शोषण करते हैं, इसलिए रूबी की विशिष्टताओं को समझना महत्वपूर्ण है (जैसे मिश्रित और रुबी की गतिशील विशेषताओं के बहुत सारे)। समझने की आखिरी बात कैसे रेल इन सुविधाओं का उपयोग करती है, यानी। यह कक्षाओं और मॉड्यूल में कैसे टूट गया है, इसकी कितनी विशेषताएं गतिशील रूप से रन पर बनाई गई हैं और इसी तरह। इस उद्देश्य के लिए, मैं अत्यधिक डेविड ए ब्लैक से रेल के लिए रूबी बुक की सिफारिश करता हूं (जो रूबी के बारे में है, इसकी विशिष्टताओं और जिस तरह से रेल उनका उपयोग करता है)। हालांकि यह पुस्तक थोड़ी देर से हो सकती है, मुझे लगता है कि यह अभी भी इसकी सामग्री में अमूल्य है। रेल में

1

रूबी metaprogramming जादू: काला "रेल के लिए रूबी"

ऊपर उल्लेख के अलावा Rappin "व्यावसायिक रेल" और Ediger "उन्नत रेल", द्वारा पुस्तकों को देखो

नामकरण सम्मेलनों महत्वपूर्ण हैं:

http://rails.wincent.com/wiki/Rails_conventions

http://www.softiesonrails.com/2007/10/18/ruby-101-naming-conventions

4

"जादू" रेल में शामिल method_missing और metaprogramming की अवधारणा। The Pragmatic Programmers ने screencasts on metaprogramming Ruby का एक सेट बनाया।

PHP में कुछ हद तक समकक्ष फ़ंक्शन है जिसे __call कहा जाता है, और PHP 5.3 ने __callstatic पेश किया। आप PHP पर रेल-जैसे व्यवहार को लागू करने पर कुछ पढ़ने वाली सामग्री के लिए, "php metaprogramming" के लिए Google को खोज सकते हैं, साथ ही Google पर भी खोज सकते हैं।

0

तुम सच में, रेल समझ में रेल कि आप चाहते हैं की बिट के लिए स्रोत में पढ़ना चाहते हैं।

पर OSX या फ्रीज रेल /Library/Ruby/Gems/1.8/gems/ और यह डिजाइन और कार्यान्वयन की जानकारी है में मदद करता है रेल की एक गहरी समझ के लिए अपने RAILS_ROOT/विक्रेता/निर्देशिका

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