原谅我,伙计们。说到 Ruby,我充其量只是个新手。我只是想知道对我来说似乎很奇怪的行为的解释。
我正在使用Savon库与我的 Ruby 应用程序中的 SOAP 服务进行交互。我注意到以下代码(在我编写的用于处理此交互的类中)似乎在我期望成员字段的值去的地方传递了空值:
create_session_response = client.request "createSession" do
soap.body = {
:user => @user, # This ends up being empty in the SOAP request,
:pass => @pass # as does this.
}
end
尽管事实上两者@user
和@pass
都已被初始化为非空字符串。
当我将代码更改为使用 locals 时,它按我期望的方式工作:
user = @user
pass = @pass
create_session_response = client.request "createSession" do
soap.body = {
:user => user, # Now this has the value I expect in the SOAP request,
:pass => pass # and this does too.
}
end
我猜这种奇怪的(对我来说)行为一定与我在一个街区内的事实有关。但实际上,我不知道。有人可以启发我吗?