Существует 3 модели: Место, Кафе, Клуб; они связаны через полиморфные отношения (поле «детали» в поле «Место» и «место» в Cafe & Клубные модели). Итак, я хочу, чтобы сделать информацию о всех местах детали (т.е. с полями кафе & моделей Club) в формате JSON - для этого я переопределяю as_json метод:Как визуализировать json с отношениями
def as_json(options={})
super(options.merge(include: :details))
end
Он работает хорошо, теперь JSON визуализирует информацию всем места с ключом «детали». Теперь есть модель FoodType, и только Cafe подключается к этой модели через has_many; Я хочу отобразить все места с деталями и food_types для Cafe. Как мне это сделать? Я думал, что могу переопределить as_json для Cafe, и все будет хорошо:
def as_json(options={})
super(options.merge(include: [:food_types]))
end
Но это не сработало. Пожалуйста, скажите мне, как я могу это сделать? Благодарю.
Проверьте это http://www.tigraine.at/2011/11/17/rails-to_json-nested-includes-and-methods. В нем есть много хороших примеров, которые могут вам помочь. –