Rails コンソールで Pry gem を使用していますが、pry 風味の rails-console がリロードを失ったようです。モデルなどをリロードする方法。
こじ開けコンソールを起動する方法は次のとおりです
c:\rails\app> pry -r ./config/environment
ありがとうございました
Rails コンソールで Pry gem を使用していますが、pry 風味の rails-console がリロードを失ったようです。モデルなどをリロードする方法。
こじ開けコンソールを起動する方法は次のとおりです
c:\rails\app> pry -r ./config/environment
ありがとうございました
リロードを使用するには!rails consoleコマンドのように、このコードを.pryrcに追加します
# load Rails Console helpers like reload
require 'rails/console/app'
extend Rails::ConsoleMethods
puts 'Rails Console Helpers loaded'
EDIT == Gem pry-railsはすでにこれらすべてを実行しており、はるかに単純です。
最近この質問に来た人のために: Rails 3.2 で答えが変更されましreload!
た。以前のバージョンでは irb コマンドが にメソッドとして追加されていましたが、グローバル名前空間の汚染を避けるため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
変更が導入された Rails プル リクエストへのリンクは次のとおりです - https://github.com/rails/rails/pull/3509
Pry wiki でこのページを確認できます: https://github.com/pry/pry/wiki/Setting-up-Rails-or-Heroku-to-use-Pry
pry-rails
プラグインもチェックしてください: https://github.com/rweng/pry-rails
その wiki には他にも多くのコンテンツがあり、素晴らしいリソースです。
Pry に Rails 環境をロードするように指示できます。.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!
背中を与えるでしょう。
Zeus と Pry に問題がある場合は、以下を追加してみてください.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
ここから撮影