【发布时间】:2015-02-15 13:03:40
【问题描述】:
我可以使用binding.pry 在本地调试应用程序就好了。但我也需要在远程服务器(webiste)上这样做,因为在本地我没有任何错误,但在生产中我有。所以把binding.pry放在服务器上的源文件中,当我向网站发出post请求时,我没有返回任何响应,即使我在服务器上运行rails console也没有改变任何东西,也没有在rails console 中输出。
它是一个开发服务器,因此它在互联网上可见,但它是一个开发服务器,尽管对于 rails 它是生产服务器,因为RAIL_ENV 等于production。我真的需要以我可以在本地使用 pry 进行调试的方式对其进行调试。我该怎么做?
更新:
# bundle exec pry-remote
/usr/lib/ruby/1.9.1/drb/drb.rb:736:in `rescue in block in open': druby://127.0.0.1:9876 - #<Errno::ECONNREFUSED: Connection refused - connect(2)> (DRb::DRbConnError)
from /usr/lib/ruby/1.9.1/drb/drb.rb:730:in `block in open'
from /usr/lib/ruby/1.9.1/drb/drb.rb:729:in `each'
from /usr/lib/ruby/1.9.1/drb/drb.rb:729:in `open'
from /usr/lib/ruby/1.9.1/drb/drb.rb:1191:in `initialize'
from /usr/lib/ruby/1.9.1/drb/drb.rb:1171:in `new'
from /usr/lib/ruby/1.9.1/drb/drb.rb:1171:in `open'
from /usr/lib/ruby/1.9.1/drb/drb.rb:1087:in `block in method_missing'
from /usr/lib/ruby/1.9.1/drb/drb.rb:1105:in `with_friend'
from /usr/lib/ruby/1.9.1/drb/drb.rb:1086:in `method_missing'
from /web/my_site.com/releases/201501271120/vendor/bundle/ruby/1.9.1/gems/pry-remote-0.1.8/lib/pry-remote.rb:289:in `run'
from /web/my_site.com/releases/201501271120/vendor/bundle/ruby/1.9.1/gems/pry-remote-0.1.8/bin/pry-remote:4:in `<top (required)>'
from /web/my_site.com/releases/201501271120/vendor/bundle/ruby/1.9.1/bin/pry-remote:19:in `load'
from /web/my_site.com/releases/201501271120/vendor/bundle/ruby/1.9.1/bin/pry-remote:19:in `<main>'
【问题讨论】:
-
区别可能在于使用的应用服务器。您如何在本地开发中运行您的应用,以及如何在生产中提供服务?
标签: ruby-on-rails debugging pry