3

我正在尝试使用 RubyMine 在我的 Rails 项目中调试脚本,但该脚本看不到在我的 lib 目录下定义的类。

运行/调试配置在 bundle 的上下文中运行脚本,但可见性显然与我从命令行运行“rails r script/foo.rb”不同。

我尝试将调试会话配置为使用 Ruby 脚本:rails,然后r script/foo.rb作为脚本参数提供。RubyMine 不接受这是一个有效的配置。

建议?我的目标是能够交互式地调试我的 rails 上下文脚本,就像我已经可以对运行在 rails 服务器中的代码所做的那样。

这是控制台输出 RubyMine:

    /home/michael/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/michael/.rvm/gems/ruby-1.9.3-p194/gems/ruby-debug-ide-0.4.17.beta14/bin/rdebug-ide --dispatcher-port 52376 --port 55139 -- /home/michael/work/myapp/script/foo.rb
    Fast Debugger (ruby-debug-ide 0.4.17.beta14, ruby-debug-base 0.11.30.pre10) listens on 127.0.0.1:55139
    Uncaught exception: uninitialized constant Foo::XLogger
        /home/michael/work/myapp/script/foo.rb:17:in `go'
        /home/michael/work/myapp/script/foo.rb:46:in `<top (required)>'

    Process finished with exit code 0

XLogger 在 /home/michael/work/myapp/lib/x_logger.rb 中定义。

4

1 回答 1

4

我相信我已经找到了自己的答案/解决方案,但我将它提供给其他面临同样挑战的人。

  • 在运行/调试配置中
  • 在配置选项卡上
  • Ruby 脚本:字段应该是/path/to/rails/app/script/rails
  • 脚本参数:字段应该是r /path/to/rails/app/script/foo.rb
于 2012-10-17T15:26:37.173 回答