我有模型用戶。用戶包含:name和:second_name字段。我在模型Rails:to_json方法,添加函數返回值
def full_name
self.name + ' ' + self.second_name
end
當我打電話的用戶對象上to_json()方法,我得到{: '... 'SECOND_NAME:' ...' name}的定義功能。我如何添加結果full_name字段?
我有模型用戶。用戶包含:name和:second_name字段。我在模型Rails:to_json方法,添加函數返回值
def full_name
self.name + ' ' + self.second_name
end
當我打電話的用戶對象上to_json()方法,我得到{: '... 'SECOND_NAME:' ...' name}的定義功能。我如何添加結果full_name字段?
如何在User模型中定義as_json
方法並覆蓋to_json的默認行爲。
因此,這將成爲:
def as_json(options)
super(:methods => [:full_name])
end
僅供參考見: http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html
覆蓋.as_json
您的用戶模型中,添加以下行到你的用戶模型:
def as_json(options)
super.merge({
full_name: "#{self.name} #{self.second_name}"
})
end
而且在你的控制器中,只寫:render @user
,不明確調用.to_json
謝謝! – motoroller
正如Bryan所說,這是乾淨的,並允許您調用多個類的方法。此外,您還可以通過在選項中添加「except」來排除不必要的項目 – trh
謝謝! – motoroller