2012-04-06 3 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

Смежные вопросы