使用自定义json方法渲染

时间:2012-04-06 22:34:13

标签: ruby-on-rails ruby json activerecord

我的一个活动记录子类有一个创建类似json的表示的方法。这是回答数据数组的方法吗?

# answer is an array
answer = MyModel.fetch()

respond_to do |format|
    format.json { render :json => answer.collect { |e| e.as_special_json } }
end

我不认为这是对的。我想我真的不明白渲染:json就是这样。我认为这将json编码几乎json。有没有办法像任何其他json一样回答几乎json?

1 个答案:

答案 0 :(得分:1)

您可以将其渲染为文字:

respond_to do |format|
  format.special_json { render :text => answer.collect{ |e| e.as_special_json } }
end

您可以访问添加.special_json到您的网址,以使rails渲染文本。您需要将新的mime符号“special_json”映射到json mime类型。只需将此行添加到config/initializers/mime_types.rb

即可
Mime::Type.register "application/json", :special_json