2012-04-06 142 views
0

我的一个活动记录子类有一个创建类似json的表示的方法。这是回答这些数据数组的方法吗?使用自定义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

你可以只呈现为文本:

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

你可以访问添加.special_json到您的网址,使轨道呈现文本。您需要将新的MIME符号“special_json”映射到json mime类型。只需将此行添加到config/initializers/mime_types.rb即可:

Mime::Type.register "application/json", :special_json 
+0

甚至超过我的希望。谢谢! – danh 2012-04-07 02:02:32