Как я могу заменить ключи в to_json? - PullRequest
1 голос
/ 20 января 2012

Я переопределяю to_json.

Когда я звоню to_json на моей модели, я получаю следующее:

{ "integer1": "23", "integer2": "2", "integer3": "4", ... }

Я хочу to_json вернуть:

{ "Something": "23", "SomethingElse": "2", "AnotherThing": "4", ... }

У меня есть массив, который содержит ключ и его отображение:

"integer1" => "Something", "integer2" => "SomethingElse", "integer3" => "AnotherThing", ....

Как мне этого добиться?

Ответы [ 2 ]

4 голосов
/ 20 января 2012
2 голосов
/ 20 января 2012

Я настоятельно рекомендую использовать draper или аналогичное решение для декоратора-шаблона для создания "представлений JSON" объектов.

У вас будет декоратор для вашей модели, который вы определяете def as_json(options = {}) и вернуть хеш данных, которые вы хотите использовать в качестве JSON-представления вашей модели.Это отделяет его от модели и позволяет легко изменять «представление данных» модели отдельно от внутреннего представления данных.

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