2013-07-18 3 views
37

मैंने देखा है कि जब मैं html.erb या .css जैसे रेल प्रोजेक्ट फ़ाइलों को बदलता हूं, तो मुझे rails -s कमांड के साथ सर्वर को पुनरारंभ करने की आवश्यकता नहीं है।मुझे रेल में सर्वर को पुनरारंभ करने की आवश्यकता कब होगी?

लेकिन मुझे लगता है कि जब मैं एक नया मणि स्थापित करना चाहता हूं तो मुझे करना होगा। बात यह है कि मैं jQuery को काम करने की कोशिश कर रहा हूं, इसलिए मैं हर समय rails -s करने से थक गया हूं।

क्या कोई मुझे बता सकता है कि मुझे rails -s फिर से चलाने के लिए कब करना है जब मैं अपना ऐप संशोधित कर रहा हूं और मैं इसे कब नहीं कर सकता? ऐसा करने से, मेरा मतलब है कि बदलाव देखने के लिए वेबपृष्ठ को ताज़ा करना।

+0

संभावित डुप्लिकेट [विकास मोड में प्रत्येक अनुरोध पर एक मणि को फिर से लोड कैसे करें?] (Http://stackoverflow.com/questions/6191635/how-to-reload-a-gem-on-every-request-in - विकास-मोड) – Nakilon

उत्तर

50

आपको शुरुआत से फिर से लोड होने के लिए रेल की आवश्यकता होने पर आपको सर्वर को पुनरारंभ करने की आवश्यकता है।

यदि आप रत्न जोड़ रहे हैं या निकाल रहे हैं, तो हाँ, आपको सर्वर को पुनरारंभ करना होगा।

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

इसके अलावा, एक साइड-नोट पर, आपको केवल पृष्ठ को रीफ्रेश करना होगा यदि config.cache_classesfalse पर सेट है (जो मुझे लगता है कि विकास के लिए डिफ़ॉल्ट है, लेकिन उत्पादन के लिए नहीं)।

संपादित करें:

बस सुनिश्चित करें कि हर कोई नोटिस करेंगे बनाने के लिए, tadman कहा टिप्पणियाँ, अंगूठे का सामान्य नियम यहां पर एक बुद्धिमान बात एप्लिकेशन/या config/routes.rb के बाहर कुछ भी करने के लिए परिवर्तन कर रही है या डीबी/एक पुनरारंभ की आवश्यकता होगी।

+2

अच्छा उत्तर :-) +1 –

+8

अंगूठे का सामान्य नियम यहां 'ऐप/'या' config/routes.rb' के बाहर किसी भी चीज़ में परिवर्तन कर रहा है, को पुनरारंभ करने की आवश्यकता होगी। – tadman

1

जब भी आप रत्न को अपग्रेड करते हैं, या यदि आप बूट समय के दौरान चलने वाले कुछ तर्क (जैसे config/boot.rb या config/database.yml) को बदलते हैं, तो आपको आमतौर पर अपने सर्वर को पुनरारंभ करने की आवश्यकता होगी। । अन्यथा यह सामान्य रूप से ठीक नहीं है, भले ही आप मॉडल/नियंत्रकों को संपादित/जोड़ दें।

साइड नोट: jquery-rails gem एक परियोजना को आसान बनाने के लिए jquery जोड़ता है।

15

विकास में आप जब पुनः आरंभ करने की जरूरत है:

  • आप जोड़ सकते हैं/अपने Gemfile में/अद्यतन जवाहरात को हटा दें।
  • आप रूबी पर्यावरण में कुछ और बदलाव करते हैं, शायद rvm के माध्यम से।
  • आप config/ के तहत किसी भी फाइल को बदलते हैं, हालांकि routes.rb आपके लिए पुनः लोड किया गया है।
  • ऑटोलोडिंग के बजाए आप require मैन्युअल रूप से किसी भी फाइल को बदलते हैं।

उत्पादन में आप जब पुनः आरंभ करने की जरूरत है:

  • आप किसी भी कोड या जवाहरात बदल जाते हैं।

एनबी। वांछित होने पर संबंधित व्यवहार environment/<env>.rb फ़ाइल को संपादित करके इन व्यवहारों को बदला जा सकता है, हालांकि डिफ़ॉल्ट समझदार हैं।

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