Ruby on rails - 调用 .name 方法不会返回对象的名称



我试图让类别对象返回名称"喜剧",但当我调用名称方法时返回"类别"。我不知道该去哪里解决这个问题,所以如果有人能给我指出正确的方向,我将不胜感激。

从命令链接获取响应:

[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]

这真的很有用

最新更新