我正在使用mongoid(2.6.0)及其别名,这就是我的模型字段的样子
class Place
include Mongoid::Document
field :n, :as => :name, :type => String
....
Run Code Online (Sandbox Code Playgroud)
现在我有一个控制器找到一个地方并将对象作为json返回
@places = Place.find({some query})
respond_to do |format|
format.json { render json: @places }
end
Run Code Online (Sandbox Code Playgroud)
现在当我这样做
JSON.parse(response.body)
Run Code Online (Sandbox Code Playgroud)
我的回复包含字段"n"而不是"名称".
有没有办法可以让mongoid告诉我别名而不是实名?
那你可以尝试重写serializable_hash方法.只需在模型中添加这样的内容即可.
def serializable_hash(options)
original_hash = super(options)
Hash[original_hash.map {|k, v| [self.aliased_fields.invert[k] || k , v] }]
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
679 次 |
| 最近记录: |