Luk*_*ncl 7 ruby ruby-on-rails activeresource
我正在尝试调试无效的ActiveResource调用.
查看ActiveResource请求的HTTP响应的最佳方法是什么?
Kai*_*ren 14
Monkey修补连接以启用Net :: HTTP调试模式.请参阅https://gist.github.com/591601 - 我写它来解决这个问题.添加此要点到你的Rails应用程序将给您Net::HTTP.enable_debug!和Net::HTTP.disable_debug!您可以使用打印调试信息.
Net :: HTTP调试模式不安全,不应在生产中使用,但对于调试非常有用.
这很容易。只需查看返回的响应即可。:)
两种选择:
puts response.inspect适当的地方。记得将其删除。这是后一个选项的一个愚蠢的例子。
# Somewhere buried in ActiveResource:
class Network
def get
return get_request
end
def get_request
"I'm a request!"
end
end
# Somewhere in your source files:
class Network
def print_request
request = old_get_request
puts request
request
end
alias :old_get_request :get_request
alias :get_request :print_request
end
Run Code Online (Sandbox Code Playgroud)
想象一下第一个类定义位于 ActiveRecord 源文件中。第二个类定义位于您的应用程序中的某个位置。
$ irb -r openclasses.rb
>> Network.new.get
I'm a request!
=> "I'm a request!"
Run Code Online (Sandbox Code Playgroud)
您可以看到它打印它然后返回它。整洁吧?
(虽然我的简单示例没有使用它,因为它没有使用 Rails,但请检查alias_method_chain以合并您的别名调用。)
| 归档时间: |
|
| 查看次数: |
6376 次 |
| 最近记录: |