Как вернуть объект из двух таблиц в форму рельсового веб-сервиса? - PullRequest
0 голосов
/ 23 февраля 2011

У меня есть две модели ActiveRecord: Событие и Место. Событие имеет имя свойства place_id, которое указывает на Place. Место имеет столбец с именем place_name.

Как написать веб-сервис, который возвращает json событий с каждым событием, также содержит соответствующее значение place_name.

Я попытался просто добавить имя поля attr_accessor place_name в модель событий и заполнить его вручную после выбора событий. Но, когда я делаю: render: json => events_collection_result

имя_места не отображается в json.

1 Ответ

0 голосов
/ 23 февраля 2011

Вся эта логика подпадает под Ассоциации ActiveRecord .Это очень фундаментальная часть функциональности Rails, поэтому она хорошо документирована.Этого руководства более чем достаточно.

Вы захотите вызвать belongs_to :place, если ваше определение класса Event.Оттуда вы можете получить доступ к географическому названию события через @event.place.place_name, хотя я бы рекомендовал переименовать place_name в name.

JSON не будет отображать связь по умолчанию.Существует множество способов исправить это, самым основным из которых является перезапись Event#to_json, который является методом, вызываемым по умолчанию, когда Rails пытается создать JSON-представление экземпляра ActiveRecord.

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