2014-08-05 5 views
8

कभी-कभी मेरे पास रेल के कंसोल को pry की बजाय एक irb repl के रूप में शुरू करना है (जैसा प्रिये के रूप में अद्भुत है)। यह pry के लिए डिफ़ॉल्ट होगा क्योंकि pry Gemfile में है। यह आजकल कैसे किया जाता है?मैं प्रिये के साथ रेल कंसोल कैसे शुरू करूं?

मुझे लगता है कि rails console चलाते समय एक --irb विकल्प होता था लेकिन ऐसा लगता है कि अब यह चला गया है। जब मैं कोशिश करता हूं तो मुझे एक बहिष्करण त्रुटि संदेश मिलता है।

अधिक जानकारी

मैं बस चलाते हैं "रेल सांत्वना" यह जिज्ञासा मुझे ले जाता है।

अगर मैं चलाने के "रेल सांत्वना -irb = आईआरबी": मेरे Gemfile से

$ rails c -irb=irb                                           
--irb option is no longer supported. Invoke `/your/choice/of/ruby script/rails console` instead 

प्रासंगिक लाइनों:

gem 'rails', '3.2.18' 
gem 'pry-rails' 
gem 'pry-plus' 
+0

pry कुछ पहलुओं में भयानक है, फिर भी कुछ ऑपरेशन करते समय आईआरबी अधिक स्थिर/भरोसेमंद रहता है (विशेष रूप से कॉपी-पेस्ट) –

उत्तर

1

किसी के लाभ के जो एक ही समस्या में चलाता है के लिए, यह है मेरा (गंदे) कामकाज।

... 
unless ENV['NOPRY'] 
    gem 'pry-rails' 
    gem 'pry-plus' 
end 
... 

तो यूनिक्स टर्मिनल से इस चलाएँ::

मैं इस के साथ Gemfile में जिज्ञासा जवाहरात लिपटे

NOPRY=true bundle install 
NOPRY=true rails console 

सुंदर नहीं है, लेकिन काम किया जाता है ...

5

रेल में काम करता है 4: अपने application.rb में, अपने एप्लिकेशन क्लास के अंदर, इस पिल्ला को ड्रॉप करें।

# Use the IRB console instead of the Pry one 
console do 
    require 'irb' 
    config.console = IRB 
end 

मैं अब प्रिंस कंसोल नहीं ले सका। यह मेरे कर्सर को अप्रत्याशित समय पर विषम स्थानों में डाल रहा था। मैं इसका वर्णन भी नहीं कर सकता लेकिन यदि आप जानते हैं कि मैं किस बारे में बात कर रहा हूं और समाधान जानता हूं, तो कृपया मुझे बताएं।

+0

सुंदर दिखता है, लेकिन मेरे लिए यह विकल्प नहीं था क्योंकि यह एक विकल्प था रेल 3 एप। मुझे लगता है कि इस तरह एक रेल 4 चीज है।फिर भी, आपका उत्तर अन्य लोगों के लिए उपयोग किया जाएगा जो मुझे लगता है कि –

+0

धन्यवाद, मैंने इसे प्रतिबिंबित करने के लिए अपनी पोस्ट अपडेट की है। –

14

rails console या rails c पर कॉल करते समय प्रिये लॉन्च करना pry-rails मणि द्वारा स्थापित किया गया है। यदि आप pry-rails मुद्दों को देखते हैं there is one जो समाधान का वर्णन करता है।

पर्यावरण चर DISABLE_PRY_RAILS को 1 के रूप में परिभाषित करें।

तो आप के साथ जिज्ञासा के बिना रेल सांत्वना कॉल कर सकते हैं:

DISABLE_PRY_RAILS=1 rails c 
+0

अच्छा और सरल समाधान! – RedFred

+3

यह बहुत अच्छा है। ध्यान दें कि उपर्युक्त कॉल करने से पहले आपको पहले 'स्प्रिंग स्टॉप' चलाने की भी आवश्यकता होगी। – nonrectangular

0

ऊपर जवाब से प्रेरित होकर, मैं इतना application.rb में वर्ग परिभाषा के लिए निम्न कहा कि जिज्ञासा कंसोल से toggleable है:

console do 
    if ENV['IRB'] 
    require 'irb' 
    config.console = IRB 
    end 
end 

फिर आप एक प्रिंस कंसोल प्राप्त करने के लिए rails c चला सकते हैं, और IRB=true rails c आईआरबी कंसोल प्राप्त करने के लिए चला सकते हैं। यदि आप उलटा चाहते हैं तो यह आसानी से संशोधित किया जाता है। रेल 4 और 5 में काम करता है।

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