为什么ActiveResource返回哈希数而不是对象?

时间:2011-12-04 17:40:36

标签: ruby-on-rails ruby-on-rails-3 activeresource

我刚刚开始构建一个使用ActiveResource从api中消耗的api和应用程序。我将通过编辑进入细节,但我最初的问题是:

我有一个执行Resource.find(resource.id)的控制器,它将返回一个对象,如果我在api端包含,则包含的关联也可以轻松地处理对象。为了提取更自定义的集合,应用程序转到api上的自定义操作,这将返回一个不易使用的哈希数组(例如,使用link_to)。

第一个问题:为什么?

如上所述,如果有必要,我会填写更多内容(从我的角度来看,它会变得更复杂,从专业/专家的角度来看可能不是这样,所以我现在暂时不推)。我希望有人可以给出解释,让我更多地控制ActiveResource。

1 个答案:

答案 0 :(得分:4)

http://api.rubyonrails.org/classes/ActiveResource/CustomMethods.html

使用的自定义资源.get,所以:

” 注意:从此方法返回的对象不会自动转换为ActiveResource :: Base实例 - 它们是普通的哈希。如果您期望ActiveResource :: Base实例,请使用带有:from选项的find类方法。 “

所以,尝试另一种方式......