我有模特用户。用户包含:name和:second_name字段。我在模型中定义函数
def full_name
self.name + ' ' + self.second_name
end
当我在用户对象上调用to_json()方法时,我得到{name:' ...',second_name:' ...'}。我如何添加到结果full_name字段?
答案 0 :(得分:1)
如何在User模型中定义as_json
方法并覆盖to_json的默认行为。
所以这将成为:
def as_json(options)
super(:methods => [:full_name])
end
供参考也见: http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html
答案 1 :(得分:0)
在用户模型中覆盖.as_json
,将以下行添加到您的用户模型中:
def as_json(options)
super.merge({
full_name: "#{self.name} #{self.second_name}"
})
end
在您的控制器中,只需写下:render @user
,不要显式调用.to_json