2011-09-29 18 views
5

मैं रेल 3 में रेल कंसोल से सहायक तरीकों फोन कर रहा हूँ इस तरह: अगर मैं सहायक विधि परिवर्तन परिलक्षित नहीं कर रहे हैं जब मैं एक ही विधि कॉल बदलपुनः लोड हेल्पर कंसोल

>> helper.my_method(parameter) 
>> #=> some result 

हालांकि, फिर। सहायक 0 में परिवर्तन देखने के लिए मुझे exit और rails console चलाएं।

उत्तर

4

सबसे पहले, आपने अपने प्रश्न का गलत शीर्षक दिया। भविष्य में यदि आप जो खोज रहे हैं उसके बारे में अधिक स्पष्ट हैं, तो आपको जल्द ही उत्तर देने की अधिक संभावना है।

दूसरा, रुबी "फ़ंक्शंस" में "विधियों" कहा जाता है। यह एक बड़ा सौदा नहीं है और हम सभी जानते हैं कि आप किस बारे में बात कर रहे हैं, लेकिन समुदाय द्वारा उपयोग की जाने वाली शब्दावली में उपयोग करना अच्छा होता है।

अपने प्रश्न का उत्तर देने के, तुम बस चलाने के लिए reload! और सबसे कक्षाएं पुनः लोड किया जाएगा अपने सहायकों सहित, की जरूरत है।

+0

धन्यवाद कोरयवर्ड। – utiq

7

वास्तव में, helper एक instantiated उद्देश्य यह है कि ApplicationController सहायकों, जो पुनः लोड किया जा नहीं होगा जब आप, reload! फोन कम से कम रेल 4 में आप इस के आसपास कंसोल में ApplicationController.helpers.my_method(parameter) फोन करके काम कर सकते हैं memoizes है। जब आप सहायक संपादित करते हैं तो आपको अभी भी reload! का उपयोग करने की आवश्यकता होगी, लेकिन यह helper के विपरीत फिर से लोड हो जाएगी।

0

इस समस्या को दो बार अब छोड़ने और छोड़ने के बाद, मुझे पता चला कि कंसोल से बाहर निकलने के बिना हेल्पर्स को फिर से लोड कैसे करें और ApplicationController.helpers.my_method(parameter) के माध्यम से उन्हें कॉल न करें।

reload! बुला के बाद, अपने सहायक फिर (include MyHelper) शामिल हैं और यह आपके हाल ही में बदल सहायक शामिल होंगे।

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