Rails 4 scope为结果添加null`id`列

时间:2013-09-04 12:32:45

标签: ruby-on-rails ruby-on-rails-3.2 ruby-on-rails-4

我有一个这样的课程:

class FileDownload < ActiveRecord::Base
  scope :status, -> { select('user_id') }
end

我在控制器中使用此范围来返回json响应。这在Rails 3.2.14中运行得很好。回复看起来像这样:

[{ "user_id": 1234 }]

升级到Rails 4后,突然响应如下:

[{ "user_id": 1234, "id": null }]

有人可以解释为什么要添加null id字段吗?

1 个答案:

答案 0 :(得分:0)

使用pluck

进行尝试
scope :status, -> { pluck(:guid, :status) }