活动资​​源返回 nil 对象 [英] Active Resource return nil object

查看:43
本文介绍了活动资​​源返回 nil 对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试在可以查看日志的服务器上使用活动资源.我请求服务器显示一个带有 xml 的订单.

class Orders <活动资​​源::基础self.site = "http://"+Hello::Services.session.server+"/api/"self.element_name = "订单"self.format = ActiveResource::Formats::XmlFormat结尾

<块引用>

o = Hello::Services::Orders.find(o.id)

当我查看他返回的内容时,他以 xml 格式向我发送了正确的对象.

但是当我看到我收到的东西时:

放置====:"把 xml把 xml.inspect

第二个 put 返回

<块引用>

#<你好::服务::订单:0x007fc685339070>

但是第三个 puts 给我一个错误:

<块引用>

NoMethodError(当你没想到的时候,你得到了一个 nil 对象!您可能已经预料到 Array 的实例.评估 nil.each 时发生错误):app/models/user.rb:27:in inspect'app/models/user.rb:27:ininspect'app/models/user.rb:27:in inspect'app/models/user.rb:27:inparseXml'app/controllers/orders_controller.rb:47:in `order'

所以如果你知道为什么我不能使用我的对象.对我来说,ActiveResource 改变自身接收到的对象中的数据.

解决方案

好吧,我不知道为什么,但我成功地使用 .to_yaml 打印了我的对象.

I try to use active resource with a server where I can see log. I request the server with a show on a order with xml.

class Orders < ActiveResource::Base
  self.site = "http://"+Hello::Services.session.server+"/api/"
  self.element_name = "orders"
  self.format = ActiveResource::Formats::XmlFormat
end

o = Hello::Services::Orders.find(o.id)

When I look what he returns he sends me the correct object in xml.

but when I look what I receive with this:

puts "====:"
puts xml
puts xml.inspect

the second puts return

#< Hello::Services::Orders:0x007fc685339070>

But the third puts throw me an error:

NoMethodError (You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.each): app/models/user.rb:27:in inspect' app/models/user.rb:27:ininspect' app/models/user.rb:27:in inspect' app/models/user.rb:27:inparseXml' app/controllers/orders_controller.rb:47:in `order'

So if you know why I can't use my object. For me, ActiveResource change itself received data in object.

解决方案

Ok I don't know why but I succeed to print my object with .to_yaml.

这篇关于活动资​​源返回 nil 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆