现在我在模型中的as_json方法中有以下内容:
#values we will pass to Json
def as_json(options={})
super(:only => [:name, :last_name, :age])
end
我有一个方法可以执行某些逻辑并返回一个值:
def self.full_name
self.name + self.last_name
end
如何在as_json中返回“options”结果以及我已有的字段?我试过这个:
#values we will pass to Json
def as_json(options={})
super(:only => [:name, :full_name => self.full_name, :last_name, :age])
end
没有运气。
答案 0 :(得分:3)
Shadwell的回答是完全正确的。但是,我认为你可以像这样使用:methods
键:
def as_json(options={})
super(:only => [:name, :last_name, :age], :methods => [:full_name])
end
答案 1 :(得分:0)
def as_json(options = {})
super(:only => [:name, :last_name, :age]).merge(
{ :full_name => self.full_name }.as_json
)
end
这使用模型属性的默认实现,然后在派生属性中合并。