有时我有理由想要将rails控制台作为irb repl而不是pry启动(就像pry一样棒)。它将默认为pry,因为pry在Gemfile中。如何在现在这样做?
我认为在运行rails console
时曾经有过--irb选项,但现在似乎已经消失了。我在尝试时收到了弃用错误消息。
更多详情
如果我只是运行“rails console”,它就会让我撬开。
如果我运行“rails console -irb = irb”:
$ rails c -irb=irb
--irb option is no longer supported. Invoke `/your/choice/of/ruby script/rails console` instead
从我的Gemfile中解除行:
gem 'rails', '3.2.18'
gem 'pry-rails'
gem 'pry-plus'
答案 0 :(得分:23)
在pry-rails gem设置rails c
或DISABLE_PRY_RAILS
时启动pry。如果您查看描述解决方案的pry-rails问题there is one。
将环境变量1
定义为DISABLE_PRY_RAILS=1 rails c
。
所以你可以在没有pry的情况下调用rails console:
{{1}}
答案 1 :(得分:5)
适用于Rails 4:在你的libfoo.so
内,在你的应用程序类中,放下这只小狗。
application.rb
我不能再拿Pry控制台了。它在不可预测的时间将光标放在奇怪的地方。我甚至无法描述它,但如果你知道我在说什么并知道解决方案,请告诉我。
答案 2 :(得分:1)
为了遇到同样问题的人的利益,这是我的(糟糕的)解决方法。
我用Gemfile包装了撬宝石:
...
unless ENV['NOPRY']
gem 'pry-rails'
gem 'pry-plus'
end
...
然后从unix终端运行:
NOPRY=true bundle install
NOPRY=true rails console
不漂亮,但完成工作......
答案 3 :(得分:1)
受上述答案的启发,我将以下内容添加到application.rb
中的类定义中,以便可以从控制台切换Pry:
console do
if ENV['IRB']
require 'irb'
config.console = IRB
end
end
然后,您可以运行rails c
以获取Pry控制台,然后IRB=true rails c
来获取IRB控制台。如果您想要反向,这很容易修改。适用于Rails 4和5。