सभी अवसरों के लिए 5 और रत्न

विभिन्न और उपयोगी रत्नों के बारे में विषय की निरंतरता में, मैं कुछ के बारे में बात करना चाहता हूं जो मेरे (और फिर, मुझे आशा है कि) आरओआर के साथ और भी अधिक सुखद और सुविधाजनक काम करते हैं।


high_voltage


थिंकबॉट के लड़कों से जेम , जो साइट पर स्थिर पृष्ठों के साथ काम को बहुत सरल करता है।
मणि बहुत सरलता से काम करता है - हम आवश्यक पृष्ठों को ऐप / विचार / पृष्ठ फ़ोल्डर में जोड़ते हैं। उसके बाद, पेज / पेज / (file_name) पर उपलब्ध हो जाता है। इसलिए, उदाहरण के लिए, वह पृष्ठ जो एप्लिकेशन / विचारों / पृष्ठों / about.haml में निहित है, example.com/pages/about पर उपलब्ध होगा।
इसके अलावा, रत्न page_path url सहायक को जोड़ता है, जिसे एक तर्क के रूप में वांछित पृष्ठ को पास करने की आवश्यकता होती है। ऊपर दिए गए उदाहरण के लिए, यह पृष्ठ_पथ (: के बारे में) होगा

Github पर पृष्ठ

gon


अक्सर रेल से डेटा को जेएस में स्थानांतरित करना आवश्यक होता है। इसके लिए कई समाधान हैं।
उदाहरण के लिए, आप उन्हें अतिरिक्त अजाक्स अनुरोध के साथ अलग से डाउनलोड कर सकते हैं। मामले में जब बहुत अधिक डेटा नहीं होता है और यह अनावश्यक कॉल करने का कोई मतलब नहीं है, तो गॉन पूरी तरह से इस कार्य के साथ सामना करेगा - एक घरेलू निर्माता से एक रत्न जो आपको नियंत्रक से सीधे डेटा स्थानांतरित करने की अनुमति देता है।
मणि के लिए काम करने के लिए, पहले अपने लेआउट में जोड़ें:

<html> <head> <title>Application Title</title> <%= include_gon %> <!--     JS --> 


नियंत्रक में अगला, स्थानांतरण डेटा का उपयोग कर गों :

 def show @user = User.find(params[:id]) gon.user = @user end 


@User का डेटा अब आपके JS में उपलब्ध है, और आप इसे gon ऑब्जेक्ट के माध्यम से एक्सेस कर सकते हैं। उदाहरण के लिए:

 $(function() { alert(gon.user); }); 


मणि को स्वयं के लिए अनुकूलित किया जा सकता है - निर्यात किए गए चर के नाम पर स्नेक_केस के बजाय कैमसेलकेस का उपयोग करें, अपने नाम स्थान को निर्दिष्ट करें, लोकप्रिय जेब्यूलर और आरएबीएल के साथ दोस्त बनाएं

गोन @ रैलकास्ट
Github पर पृष्ठ

http_accept_language


यदि आप एक रेल अनुप्रयोग में कई भाषाओं का समर्थन करने के कार्य के साथ सामना कर रहे हैं, तो मैं आपको http_accept_language मणि पर ध्यान देने की सलाह देता हूं। यह अनुरोध ऑब्जेक्ट में कई तरीके जोड़ता है, जिसकी मदद से आप आसानी से यह निर्धारित कर सकते हैं कि उपयोगकर्ता कौन सी पसंदीदा भाषा है। उदाहरण के लिए, इस तरह:

 class ApplicationController < ActionController::Base before_filter :set_locale protected def set_locale allowed_locales = %w(ru-RU en-US) I18n.locale = request.preferred_language_from(allowed_locales) || I18n.default_locale end end 


Github पर पृष्ठ

email_spec


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

 describe UserMailer do let(:user) { create(:user) } describe '#confirmation_instructions' subject { UserMailer.confirmation_instructions(user.id) } it 'should be set to be delivered to the user email address' do subject.should deliver_to(user.email) #      e-mail . end it 'should have the correct subject' do subject.should have_subject(I18n.t('user_mailer.confirmation_instructions.subject')) #      . end it 'should contain the confirmation url' do subject.should have_body_text(/#{user_confirmation_url}/) #        . end end end 


Github पर पृष्ठ

heroku_san


यदि आप सक्रिय रूप से हरोकू का उपयोग कर रहे हैं, तो आपको निश्चित रूप से इस रत्न पर ध्यान देना चाहिए। heroku_san तैनाती की प्रक्रिया को और भी सरल और तेज़ बनाता है।
मान लीजिए आप चाहते हैं कि आपकी परियोजना में कई हरोकू उदाहरण हैं - उत्पादन और मंचन । ऐसा करने के लिए, मणि स्थापित करने के बाद, कंसोल में कॉल करें:

 rake heroku:create_config 


यह कमांड एक कॉन्फ़िगरेशन फ़ाइल ( config / heroku.yml ) बनाएगी जो इस प्रोजेक्ट से संबंधित आपके सभी हरोकू एप्लिकेशन का वर्णन करती है। उदाहरण के लिए, उत्पादन और मंचन के वातावरण के लिए, यह इस तरह दिखता है:

 production: &defaults app: myfacebookkiller stack: cedar config: BUNDLE_WITHOUT: 'development:test' staging: <<: *defaults app: myfacebookkiller-staging 


अब, अगर आपने हरोकू पर ये एप्लिकेशन नहीं बनाए हैं - तो अभी करें:

 rake all heroku:create 


अब heroku_san के साथ आप अपनी परियोजना को एक साथ कई अनुप्रयोगों में तैनात कर सकते हैं:

 rake all deploy 


या सिर्फ एक विशिष्ट आवेदन के लिए:

 rake production deploy 


Heroku_san हेरोकू के साथ काम करने में उपयोगी बहुत सी चीजें प्रदान करता है, जीथब पर जीथ पृष्ठ पर अधिक विवरण पाया जा सकता है।

Github पर पृष्ठ

Source: https://habr.com/ru/post/In138994/


All Articles