Rails, переопределить вывод для {: json => @model} - PullRequest
0 голосов
/ 07 марта 2012

Я хотел бы добавить другой способ отображения данных json в Rails.

Проблема в том, что мне не нужны все имена полей для каждой строки, просто массив с данными дляКроме того, для каждого столбца было бы неплохо настроить какой-либо тип фильтра, чтобы вы могли выбрать, какие столбцы вы хотите использовать в выводе JSON

В данный момент у меня есть контроллер:

respond_to do |format|
      format.html # show.html.erb
      format.json { render :json => @person }
end

И я хотел бы сделать что-то вроде:

format.json { render :json2 => @person }

Чтобы в этом конкретном действии контроллера данные JSON форматировались по-другому (: json2).Я смотрел на:

ActionController.add_renderer :json2 do |json, options|

Но я не могу обернуться вокруг этого.Мне начать?Я хочу, чтобы он запускался так же, как и рендеринг json по умолчанию.Таким образом, нет отдельных файлов index.json2.erb в каждом представлении.Еще лучше, если я смогу добавить некоторые дополнительные поля в массив, например:

format.json { render :json2 => @person, :table = 'xyz', :columns = ['a', 'b'] }

Я прочитал Иегуда Кац , но я все еще не могу понять это.

1 Ответ

1 голос
/ 07 марта 2012

Я думаю, было бы здорово, чтобы вы переопределили метод to_json. Вот похожий вопрос.

Как переопределить to_json в Rails?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...