我刚刚开始构建一个 api 和使用 ActiveResource 从 api 消费的应用程序。我将通过编辑详细说明,但我最初的问题是:
我有一个执行 Resource.find(resource.id) 的 Controller ,它将返回一个对象,如果我在 api 端包含,包含的关联也很容易与对象一起使用。为了拉取更自定义的集合,应用程序转到 api 上的自定义操作,这将返回一个不容易使用的哈希数组(例如使用 link_to)。
第一个问题:为什么?
如前所述,如有必要,我会填写更多内容(从我的角度来看,它变得更加复杂,从专业/专家的角度来看可能并非如此,所以我暂时搁置)。我希望有人可以给出解释,让我可以更好地控制 ActiveResource。
最佳答案
http://api.rubyonrails.org/classes/ActiveResource/CustomMethods.html
自定义资源使用.get,所以:
" 注意:从该方法返回的对象不会自动转换为 ActiveResource::Base 实例——它们是普通的 Hashes。如果您需要 ActiveResource::Base 实例,请使用带有 :from 选项的查找类方法。 "
所以,尝试另一种方式......
关于ruby-on-rails - 为什么 ActiveResource 返回的是哈希数组而不是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8377222/