用大括号包裹的访问对象

时间:2014-06-09 16:27:17

标签: ruby-on-rails activerecord ancestry

我有一个使用一些Ancestry Gem方法从查询返回的对象:

 @category = ItemsCategory.find(params[:id_and_name]).subtree.arrange

结果如下:

category = {#<ItemsCategory id: 16, name: "Coffee Tables", created_at: "2014-04-02 19:50:26", updated_at: "2014-06-03 21:03:03", title_tag: nil, description_tag: nil, ancestry: "144/1/7">=>{}}

如何获得不同的密钥?如果我说@ category.id我得到@category没有方法ID

1 个答案:

答案 0 :(得分:4)

您的结果是哈希,键是您尝试访问的ItemsCategory对象。请注意该行末尾的=>{}}。这是因为您的ItemsCategory没有与之关联的子实例。

如果您仍想访问此内容,请执行以下操作:

@category.keys.first.id # => 16