我正在使用
Ruby on Rails 3,我想覆盖to_json方法.
这时我使用以下代码以避免导出重要信息.
def to_json super( :except => [ :password ] ) end
如果我想使用该方法更改值,我该怎么办?
例如,我想将用户名大写
:name => name.capitalize
检索这个
@user.to_json
解决方法
如果你想渲染:json => @user在Rails 3的控制器中,你可以覆盖模型中的as_json:
class User < ActiveRecord::Base def as_json(options={}) result = super({ :except => :password }.merge(options)) result["user"]["name"] = name.capitalize result end end