2016-02-09 3 views
5

के लिए एक फ़ाइल की आवश्यकता के लिए मैं एक रूबी वर्ग कि मैं केवल सांत्वना के लिए, यह बंदर पैच update_attribute के लिए ua जैसे कुछ शॉर्टकट के साथ ActiveRecord::Base का उपयोग करेगा और मैं इसे लोड करने के लिए नहीं करना चाहती rails server चल रहा है कि जब लेकिन केवल rails console कमांड चलाते समय।कैसे केवल सांत्वना

इसे प्राप्त करने का तरीका क्या है?

+0

कृपया '.irbrc' के साथ उत्तर न दें क्योंकि मैं चाहता हूं कि यह केवल एक प्रोजेक्ट के लिए काम करे। –

उत्तर

5

rails console को परिभाषित करता है Rails::Console

तो तुम

if defined?(Rails::Console) 
    # this runs only in rails console 
end 

कर सकते हैं एक और दृष्टिकोण का उपयोग करने के होगा config/application.rb:

module MyApplication 
    class Application < Rails::Application 
    console do 
     require 'my_console_file' 
    end 
    end 
end 
+1

प्रारंभ करने में एक फ़ाइल इसे रखने के लिए एक अच्छी जगह होगी? याद रखें कि मैं बंदर पथ सक्रिय करना चाहता हूं ActiveRecord कक्षा –

+0

यह केवल रेल 3+ के लिए काम करता है, रेल 2.3 के लिए कोई विचार है? –

+0

एक प्रारंभकर्ता एक अच्छा विचार की तरह लगता है। रेल 2.3 के लिए, क्षमा करें मुझे कोई जानकारी नहीं है। 'रेल :: कंसोल' परिभाषित नहीं किया जा रहा है? –

1

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

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