【发布时间】:2016-07-04 16:14:31
【问题描述】:
我一直在尝试获取不包含id column 的模型。我认为select 方法允许这样做,但是当我访问模型时,我看到id 字段带有nil 值。
当我使用时:
module API
class MyController < ActionController::API
def index
response = MyModel
.where("value > ?", 0)
.select('code','value')
render json: response, status: 200
end
当我像这样使用每个检查结果时
我的模特 .where("值 > ?", 0) .select('代码','值') .每个{|m|放 m}
我明白了
<MyModel id: nil, code: "110", value: 100>
<MyModel id: nil, code: "111", value: 100>
<MyModel id: nil, code: "112", value: 100>
在我的回复中,我得到了这个:
[{id: null, code: "110", value: 100},{id: null, code: "111", value: 100},{id: null, code: "112", value: 100}]
如何省略id列?
【问题讨论】:
-
你为什么要这样做?你想解决什么问题?
-
@jordan 我需要返回一个
MyModel数组,但不包含 id 字段 -
对,你已经说了这么多。但是你想解决什么问题?你想“返回一个数组”,但是到哪里呢?用例是什么?您已经成功地从数据库中仅选择了
code和value字段,这就是id属性为nil的原因。 -
我编辑了我的问题
-
你没有真正回答我的任何问题。然而,这可能是一个将作为 JSON 响应发送的哈希吗?您是在问如何在 JSON 响应中从对象数组中省略特定属性?
标签: ruby-on-rails ruby rails-activerecord