2010-12-27 11 views
8

के विकल्प मैं RoR विकास में अधिक भारी हो रहा हूं। ईआरबी मुझे सही महसूस नहीं करता है। मैंने जेएसपी के साथ एक बार ऐसा किया था। मेरे मार्कअप के भीतर रूबी कोड एम्बेड करना एक अच्छी योजना की तरह महसूस नहीं करता है भले ही तर्क विशिष्ट दिखाई दे। शायद मेरे डर निराधार हैं लेकिन यह खतरनाक लगता है। इसके अलावा, इसमें बहुत सारे टाइपिंग शामिल हैं।ईआरबी

मुझे एचएएमएल मिला है और मैं इसे और अधिक मूल्यांकन दे रहा हूं। यदि यह एक अच्छा विकल्प है, तो शायद आप इसके लिए कुछ अच्छे संसाधन दे सकते हैं।

एचएएमएल से परे, रेल व्यू परत के लिए ईआरबी के अन्य विकल्प क्या हैं?

क्या ईआरबी के साथ मेरा डर अन्यायपूर्ण है?

उत्तर

7

यदि आपको रूबी को आपके विचारों में पसंद नहीं है, तो HAML आपकी मदद नहीं करेगा। यद्यपि वाक्य रचनात्मक रूप से अधिक सटीक, यह एम्बेडेड रुबी का उपयोग करता है जैसे कि ईआरबी करता है।

यदि आप अपने विचारों में तर्क से बचना चाहते हैं, तो Mustache जैसे कुछ को देखें। यह एक टेम्पलेटिंग शैली का उपयोग करता है जो प्रस्तुति से तर्क के अधिक सख्त अलगाव पर जोर देता है (तर्क मुक्त विचार)।

12

टेम्पलेट के भीतर एम्बेडेड रूबी कोड कोई समस्या नहीं है। यह टेम्पलेट भाषाओं के रूप में एर्ब और हमल जबरदस्त शक्ति प्रदान करता है। दरअसल, कई टेम्पलेट भाषाएं पीड़ित होती हैं क्योंकि टेम्पलेट्स में कोई कोड नहीं है (उदा।, Django की टेम्पलेट भाषा)।

वास्तविक समस्या जो कभी-कभी होती है वह तब होता है जब डेवलपर जटिल कोड चिपकता है, या डेटा खींचने वाला कोड, या कोड डेटा, या कोड बनाने के निर्णय टेम्पलेट में अद्यतन करता है।

रूबी और रेल डेवलपर जबरदस्त शक्ति और लचीलापन प्रदान करते हैं। जिम्मेदार होने के लिए डेवलपर की ज़िम्मेदारी है। नियंत्रक के भीतर से अपना डेटा पुनर्प्राप्त करें। जटिल कोड को एक सहायक में ले जाएं। आदि

<%= link_to edit_post_path(@post) do %> 
    Edit post "<%= @post.title %>"!!! 
<% end %> 

ऊपर सरल एंबेडेड रूबी है, और एक दृश्य में अच्छी तरह से बैठता है। Haml संस्करण है:

= link_to edit_post_path(@post) do 
    Edit post "#{@post.title}"!!! 

इतने लंबे समय के रूप में आप कोड को सरल रखने, और किसी भी जटिल कोड नियंत्रक या एक सहायक में ले जाया जाता है, तो आप ठीक हो जाएगा।

ध्यान दें कि हैमल और एर्ब टेम्पलेट्स में एम्बेडेड रूबी कोड की बराबर मात्रा होती है, जिसमें अपवाद के साथ हैमल सभी end एस के त्याग करता है।

+0

हे, साफ! ऐसा लगता था कि लाइनों को इंटरपोलेशन के लिए '==' से शुरू करना था, लेकिन ऐसा लगता है कि अब यह मामला नहीं है। टीआईएल! : डी – Matchu

4

आप विचारों करने का एक और अधिक पृथक रास्ता के लिए निर्माता पर गौर कर सकते हैं:

http://erector.rubyforge.org/

0

रेल (और रूबी) के लिए मैं, आप की तरह, आ रहा हूँ के बाद जावा में कुछ समय कार्य किया। जब मैंने ईआरबी देखा, तो मुझे एक चिपचिपा प्रतिक्रिया मिली, मैंने वेग और फ्रीमार्कर की खोज से पहले जेएसपी के बुरे पुराने दिनों को याद किया।

वैसे भी, मैं दो टेम्पलेट भाषाओं से अपनी दिलचस्पी को देख रहा हूँ:

  • Liquid
  • Handlerbars.js, जो मूँछ के लिए एक विस्तार है।

यदि हैंडलरबार आपको रूचि देते हैं, तो Handlerbars.rb पर भी देखें। उस नाम से कम से कम एक अन्य परियोजना है, लेकिन यह हैंडलरबार्स का रूबी पोर्ट नहीं है, लेकिन हैंडलरबार्स.जेएस के आसपास एक रूबी रैपर है। तो यह "असली हैंडलबार" है।

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