Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:返回克隆对象加上一个属性_Ruby On Rails_Attributes_Append - Fatal编程技术网

Ruby on rails Rails:返回克隆对象加上一个属性

Ruby on rails Rails:返回克隆对象加上一个属性,ruby-on-rails,attributes,append,Ruby On Rails,Attributes,Append,对象会导致以下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

对象会导致以下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
对象就不会被修改,只有
dou\u something\u to\u add\u属性的结果将包含新的标志。如何执行此操作?

如果您正在使用
来使用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])

为什么不直接复制用户对象?如何以正确的方式复制而不逐个属性地执行此操作?用户对象的类别是什么?类别user