NameError:未定义的局部变量或main:Object的方法`app'

时间:2013-04-02 01:24:38

标签: ruby-on-rails pry

我想知道使用pry时是否可以访问变量app

例如,当我尝试访问root_path时,我收到以下错误:

[14] pry(main)> app.root_path
NameError: undefined local variable or method `app' for main:Object

Someone说“它确实适用于pry和3.2.9”。我正在使用rails 3.2.12,但它似乎不起作用。

我的GemFile小组开发中有gem 'pry',以及config/environments/development.rb以下

  # Use Pry instead of IRB
  silence_warnings do
    begin
      require 'pry'
      IRB = Pry
    rescue LoadError
    end
  end

2 个答案:

答案 0 :(得分:1)

是的,它有效

➜  MyApp git:(master) rc
Loading development environment (Rails 3.2.13)
[1] pry(main)> app.root_path
=> "/"

我使用pry-rails支持您在初始值设定项中覆盖IRB

group :development do
  gem 'pry-rails'
end

https://github.com/rweng/pry-rails

答案 1 :(得分:0)

虽然这已经解决,但如果您因某些原因不想或不能使用'pry-rails'宝石,您也可以将以下内容添加到.pryrc文件中:

if defined?(Rails) && Rails.env
  extend Rails::ConsoleMethods
end

您可以在pry wiki

中阅读更多内容