2012-04-06 8 views
0

Eine meiner aktiven Datensatzunterklassen verfügt über eine Methode, die eine JSON-ähnliche Darstellung erstellt. Ist dies der Weg, um ein Array dieser Daten zu beantworten?Rendern mit einer benutzerdefinierten JSON-Methode

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

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

Ich glaube nicht, dass das richtig ist. Ich denke, ich verstehe nicht wirklich, was Render: Json dreht sich alles um. Ich denke, das wird Json den fast-Json kodieren. Gibt es eine Möglichkeit, den fast-json wie jeden anderen json zu beantworten?

Antwort

1

könnten Sie machen es einfach als Text:

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

Sie können Zugang eine .special_json zu Ihrer URL in den Schienen den Text machen machen. Sie müssen das neue Mime-Symbol "special_json" dem json-Mime-Typ zuordnen. Fügen Sie einfach diese Zeile zu config/initializers/mime_types.rb:

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

noch mehr als ich erhofft. Vielen Dank! – danh

Verwandte Themen