我正在尝试在Ruby中发布帖子请求,并且我的行为不一致。我目前在OSX上使用ruby-2.0.0-p598。
使用PRY时,我输入以下后命令:
HTTParty.post(@base_uri + '/method/?argument1&api_key=' + @api_key)
我从API获得了成功的回复。但是,当我通过我的规范或课程内部运行时,我得到:
未定义的方法`+'为零:NilClass
我知道它与加号有关,但我觉得很奇怪,我得到了不同的行为。你能否说一下这样做的正确方法是什么?
提前致谢。
答案 0 :(得分:2)
美好的一天 行为正确 - 某些变量=零。 你有检查变量,或者(在这种情况下最好不要这样做)调用to_s:
HTTParty.post(@base_uri.to_s + '/method/?argument1&api_key=' + @api_key.to_s)
答案 1 :(得分:0)
看起来@base_uri和/或@api_key为空。请仔细检查它们是否使用有效字符串进行初始化。然后尝试
HTTParty.post("#{@base_uri}/method/?argument1&api_key=#{@api_key}")
在这种情况下,ruby会自动尝试将@base_uri和@api_key转换为字符串,因此无需显式调用to_s方法。