2011-09-08 13 views
30

मैं अपने रेल कंसोल में प्रिये मणि का उपयोग कर रहा हूं, लेकिन प्रिये स्वाद वाले रेल-कंसोल ने पुनः लोड खो दिया है! मॉडल और सामान को पुनः लोड करने के लिए विधि।pry मणि कैसे पुनः लोड करने के लिए?

यहाँ मैं कैसे शुरू जिज्ञासा सांत्वना

c:\rails\app> pry -r ./config/environment 

आप

+0

धन्यवाद लिया, हर कोई! –

उत्तर

6

आप जिज्ञासा विकि पर इस पेज की जाँच कर सकते हैं: https://github.com/pry/pry/wiki/Setting-up-Rails-or-Heroku-to-use-Pry

इसके अलावा pry-rails प्लगइन की जाँच: https://github.com/rweng/pry-rails

वहाँ भी है कि विकि पर अन्य सामग्री का एक बहुत कुछ है, यह एक महान संसाधन है।

+2

प्राइ-रेल 'रीलोड' नहीं जोड़ता है! –

1

क्या आपका मतलब है ./config/environment धन्यवाद?

किसी भी मामले में, मुझे लगता है कि वास्तव में रेल कंसोल लॉन्च करने से अलग है, जहां reload! आता है। मैं अपने एनवी-विशिष्ट कॉन्फ़िगरेशन फ़ाइल में IRB = Pry को फिर से परिभाषित करता हूं, जो एक पूर्ण कंसोल सुनिश्चित करता है, और यह सब एक आकर्षण की तरह काम करता है।

2

मैंने हाल ही में प्रिये और रेल के बारे में एक पोस्ट लिखी है। आप इसे यहां देख सकते हैं http://lucapette.com/pry/pry-everywhere/। वैसे, के रूप में डेव पहले ही कहा, आप के साथ जिज्ञासा उपयोग करना चाहते हैं:

pry -r ./config/environment 

मैं क्या मैं लेख में लिखा था, यह वास्तव में ठीक काम करता है की कोशिश करने का सुझाव देते हैं।

+0

आप उत्पादन वातावरण में उपयोग के लिए 'RAILS_ENV = उत्पादन pry -r।/Config/environment' का उपयोग कर सकते हैं। –

6

आप जिज्ञासा बता में अपने रेल पर्यावरण लोड करने के लिए कर सकता है आपके .pryrc

rails = File.join Dir.getwd, 'config', 'environment.rb' 

if File.exist?(rails) && ENV['SKIP_RAILS'].nil? 
    require rails 

    if Rails.version[0..0] == "2" 
    require 'console_app' 
    require 'console_with_helpers' 
    elsif Rails.version[0..0] == "3" 
    require 'rails/console/app' 
    require 'rails/console/helpers' 
    else 
    warn "[WARN] cannot load Rails console commands (Not on Rails2 or Rails3?)" 
    end 
end 

यह आपके reload! वापस दे देंगे।

+0

धन्यवाद नेटम्यूट, यह अब तक जो कुछ भी देख सकता है उससे सबसे अच्छा काम करता है। –

+1

आह, पुनः लोड! प्रतीत होता है प्रतीत होता है लेकिन वास्तव में किसी भी मॉडल को फिर से लोड नहीं किया गया; हालांकि, बनिस्टर के उत्तर से प्लगइन रेलवे 3.2 में –

+2

ऐसा लगता है कि मुझे 'रेल शामिल करें :: कंसोल मोड्स' – Peter

2
alias pryr="pry -r ./config/environment -r rails/console/app -r rails/console/helpers" 
12

हाल ही में इस सवाल का आ रहा है किसी को भी के लिए: इस सवाल का जवाब, रेल 3.2 में बदल गया है क्योंकि वे वे कैसे लागू reload! कहाँ पिछले संस्करण में आईआरबी आदेशों Object के तरीके के रूप में जोड़ा गया था, अब वे जुड़ जाते हैं बदल दिया है वैश्विक नामस्थान प्रदूषण से बचने के लिए IRB::ExtendCommandBundle पर।

क्या मैं अब क्या है (1) development.rb में

silence_warnings do 
    begin 
    require 'pry' 
    IRB = Pry 
    module Pry::RailsCommands ;end 
    IRB::ExtendCommandBundle = Pry::RailsCommands 
    rescue LoadError 
    end 
end 

और (2) .pryrc में

if Kernel.const_defined?("Rails") then 
    require File.join(Rails.root,"config","environment") 
    require 'rails/console/app' 
    require 'rails/console/helpers' 
    Pry::RailsCommands.instance_methods.each do |name| 
    Pry::Commands.command name.to_s do 
     Class.new.extend(Pry::RailsCommands).send(name) 
    end 
    end 
end 

यहाँ रेल के लिए लिंक अनुरोध जहां परिवर्तन शुरू की गई थी खींच है - https://github.com/rails/rails/pull/3509

+2

प्रि-रेल रेल के साथ काम करता है 3.2 – tee

15

पुनः लोड करने के लिए! रेल सांत्वना आदेश की तरह,

# load Rails Console helpers like reload 
require 'rails/console/app' 
extend Rails::ConsoleMethods 
puts 'Rails Console Helpers loaded' 

संपादित करें == रत्न जिज्ञासा-रेल अपने .pryrc लिए इस कोड को जोड़ने के पहले से ही इस, बहुत सरल के सभी करते हैं।

+0

मणि के साथ पाठ्यक्रम में स्थापित "प्राइ" –

2

आप ज़्यूस और जिज्ञासा के साथ परेशानी हो रही है, अपने .pryrc को जोड़ने का प्रयास करें:

if Kernel.const_defined?(:Rails) && Rails.env 
    require File.join(Rails.root,"config","environment") 
    require 'rails/console/app' 
    require 'rails/console/helpers' 
    extend Rails::ConsoleMethods 
end 

से here

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