2011-01-05 14 views
40

मैं एक प्रारंभकर्ता में इस कोड है:मैं कैसे पता लगा सकता हूं कि मेरा कोड कंसोल में रेल 3 में चल रहा है या नहीं?

if $0 == 'irb' 
    # ... 
end 

यह रेल 2.3 के साथ लेकिन रेल 3 में ठीक काम करता है $ 0 का मूल्य है 'स्क्रिप्ट/रेलों' कोई बात नहीं अगर यह रेल ग या रेल के साथ शुरू किया गया था। एआरजीवी एक खाली सरणी है। मैं कैसे पता लगा सकता हूं कि एप्लिकेशन "रेल सी" या "रेल कंसोल" के साथ शुरू किया गया है या नहीं?

उत्तर

79

आप की कोशिश कर सकते यह शायद

if defined?(Rails::Console) 
    # in Rails Console 
else 
    # Not in Rails Console 
end 
+7

ध्यान दें कि यह रेल प्रारंभ के दौरान काम नहीं करेगा जब वसंत चल रहा है। –

+1

आप 'Rails.const_defined? (" कंसोल ") चाहते हैं, 'परिभाषित नहीं'? (रेल :: कंसोल)'। – wxgeorge

+0

@ wxgeorge यह बेहतर क्यों है? –

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

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