【问题标题】:How to I start a rails console with pry turned off?如何在 pry 关闭的情况下启动 rails 控制台?
【发布时间】:2014-08-05 18:32:24
【问题描述】:

有时我有理由想将 rails 控制台作为 irb repl 而不是 pry 启动(就像 pry 一样棒)。它将默认为 pry,因为 pry 在 Gemfile 中有。现在是怎么做到的?

我认为在运行 rails console 时曾经有一个 --irb 选项,但现在似乎没有了。我在尝试时收到弃用错误消息。

更多详情

如果我只是运行“rails 控制台”,我需要去撬动。

如果我运行“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'

【问题讨论】:

  • pry 在某些方面很棒,但 IRB 在执行某些操作(尤其是复制粘贴)时仍然更加稳定/可靠
  • 反向:如果rails c打开irb但你希望pry打开,那么pry -r ./config/environment

标签: ruby-on-rails pry


【解决方案1】:

调用rails consolerails c 时启动pry 由pry-rails gem 设置。如果您查看描述解决方案的 pry-rails 问题there is one

将环境变量DISABLE_PRY_RAILS定义为1

所以你可以调用rails控制台而不用撬:

DISABLE_PRY_RAILS=1 rails c

【讨论】:

  • 这很好。请注意,在调用上述代码之前,您还需要先运行 spring stop
【解决方案2】:

在 Rails 4 中工作:在您的 application.rb 中,在您的 Application 类中,将这只小狗放入。

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

我不能再使用 Pry 控制台了。它总是在不可预知的时间把我的光标放在奇怪的地方。我什至无法描述它,但如果你知道我在说什么并知道解决方案,请告诉我。

【讨论】:

    【解决方案3】:

    受上述答案的启发,我在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 中工作。

    【讨论】:

      【解决方案4】:

      为了任何遇到同样问题的人的利益,这是我的(糟糕的)解决方法。

      我在 Gemfile 中用这个包裹了撬宝石:

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

      然后从 unix 终端运行:

      NOPRY=true bundle install
      NOPRY=true rails console
      

      不漂亮,但完成了工作......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多