NoMethodError:数组的未定义方法`ids'

时间:2018-02-22 07:23:16

标签: ruby-on-rails ruby

根据rails guide,我们可以使用带有pluck(:id)的id。按照那个指南,我试过 User.ids 它运行正常,但当我用 User.first(5).ids 尝试它时,它给了我“NoMethodError:undefined method`id 'for Array:0x0055ed07fc2c28“错误。

据我所知,User.first(5)也返回一个包含五个用户的数组。你能指出我出错了吗?

/

1 个答案:

答案 0 :(得分:1)

这两件事都有所不同,如下所述:

User.first(5) // returns an array of first five records from user table
User.first(5).ids // returns activerecord relation object of first five     
records.

如果您仍然愿意使用' ids'你可以通过添加限制

来做到这一点
User.order("id asc").limit(5).ids