actionwebservice的空字符串API参数作为“SOAP :: Mapping :: Object”而不是“”接收

时间:2010-04-08 14:29:05

标签: ruby-on-rails

我使用actionwebservice构建了一个API,当客户端调用一个传入空字符串(“”)的方法时,它的to_s值是#而不是“”。但是当客户端传入“hello”时,它的to_s值为“hello”。

class UsersApiController < ApiController

  web_service_api UserApi

  def create_or_update(arg1)
    Rails.logger.info arg1.to_s # Displays "#<SOAP::Mapping::Object:0x3a89c08>" if arg1 is an empty string
  end
end

2 个答案:

答案 0 :(得分:0)

这不是最好的方法,但这是我迄今为止找到的唯一解决方案:

arg1 = "" if /#<SOAP::Mapping::Object:/ =~ arg1.to_s

答案 1 :(得分:0)

arg1 = nil if arg1.kind_of?(SOAP::Mapping::Object)