Vol*_*eee 5 ruby model ruby-on-rails
我是Ruby的新手,所以这个问题对您来说可能看起来很愚蠢,是的。但是还是...我有一个模型组,当我运行它时
class GroupsController < ApplicationController
prepend SimpleCommand
...
def index
@group = Group.all
render json: @group
end
...
# some other stuff
Run Code Online (Sandbox Code Playgroud)
...然后我得到一个如下数组的响应:
[
{
"id": 1020,
"name": "??-16-1",
"has_subgroups": true,
"created_at": "2017-09-29T10:14:08.000Z",
"updated_at": "2017-09-29T10:14:08.000Z"
}
...
]
Run Code Online (Sandbox Code Playgroud)
但是我不想拥有最后两个字段,所以我的答案是如何在响应中摆脱“ created_at”和“ updated_at”字段?
在原始问题中找到了一个很好的解决方案,而我不小心为此做了一个重复。继续阅读
每次您向视图提供对象时,JSON Rails 都会内部调用该函数as_json。摆脱这两个字段的一种方法是覆盖Group模型中的该函数:
class Group < ActiveRecord::Base
def as_json(options={})
{ id: id,
name: name,
has_subgroups: has_subgroups
}
end
end
Run Code Online (Sandbox Code Playgroud)
或者正如 @MrYoshiji 建议的那样,您可以像这样过滤掉它们:
render json: @groups.to_json(except: [:created_at, :updated_at])
Run Code Online (Sandbox Code Playgroud)