我试图让类别对象返回名称"喜剧",但当我调用名称方法时返回"类别"。我不知道该去哪里解决这个问题,所以如果有人能给我指出正确的方向,我将不胜感激。
从命令链接获取响应:
[17] pry(#<QueueItem>)> category
=> [#<Category id: 1, name: "Comedy", created_at: "2014-03-17 19:21:34", updated_at: "2014-03-17 19:21:34">]
[18] pry(#<QueueItem>)> category.name
=> "Category"
谢谢!
从上面的代码和输出来看,似乎类别变量正在存储类别ActiveRecord对象的数组。所以我们需要通过下面的代码来使用这个对象。
category.first.name
澄清一下,如果我们在控制台category.class
上尝试,我们应该得到:
> category.class
# ActiveRecord::Relation::ActiveRecord_Relation_Category
这就是为什么它没有抛出错误,未定义的方法name
为数组,只是因为它不是一个数组,Rails活动记录关系有一个名称方法
实际上,我从未使用过pry
,但默认的rails控制台会在数据之前转储类名:
> category
#<ActiveRecord::Relation [#<Category id: 1, ....>, #<Category id:2 ...>, .. etc]
这真的很有用