2013-03-11 3 views
1

Я добавил объект, вложенный в другой объект с использованием модели. Так же, как это:Включить вложенный json в Rails

Ingresso модель ->

def as_json(options=nil) 
    super(:include => [:usuario, :tipo_de_ingresso]) 
end 

В tipo_de_ingresso модели, я хочу добавить еще один объект вложен. здесь:

def as_json(options=nil) 
    super(:include => :entradas) 
end 

Но когда я получаю в ingressos.json, я потерял entradas. Если я получу tipo_de_ingressos.json, entradas вложены, хорошо, но когда я получу ingressos.json, их там нет.

Как я могу получить entradas, вложенный в tipo_de_ingresso, когда я звоню ingresso?

+1

PS: Вы можете найти [RABL Gem] (https://github.com/nesquena/ rabl) полезно, если вам нужно выполнить более сложные операции json. Таким образом, вы можете определить фактические представления для ваших ответов json, а не объединять их в модель. – Soup

ответ

5

Попробуйте это,

# /app/models/Ingresso.rb 

def as_json(options=nil) 
    super(:include => [:usuario => {}, :tipo_de_ingresso => { :include => :entradas }]) 
end 

EDIT:

изменил [:usuario, ...[:usuario => {}, ... на

+0

Это работает! Я знал, что это что-то вроде этого, но я не очень хорошо знаком с Rails. Еще раз спасибо :-) – user1411166

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