0

一个对象会产生以下 JSON 响应:

[{
  "email":"admin@host.com",
  "id":2,
  "role_id":2,
}]

我想添加一个自定义is_admin属性:

[{
  "email":"admin@host.com",
  "id":2,
  "is_admin":"true",
  "role_id":2,
}]

我想以一种聪明的方式注入“is_admin”标志:

full_obj = user.do_something_to_add_attribute('is_admin', user.is_admin?)

这样原始user对象将不会被修改,而只有 的结果do_something_to_add_attribute将包含新标志。这个怎么做?

4

1 回答 1

2

如果您正在使用to_json,请尝试

# user.rb
def is_admin
  is_admin?
end

# in generating the json object
user.to_json(only: [:email, :id, :role_id], methods: [:is_admin])
于 2013-02-08T02:27:50.750 回答