2010-01-17 2 views
0

В приложениях Rails я обнаруживаю, что в моем коде рендеринга JSON я размещаю много вложенных операторов , чтобы включить объекты с отношениями (прямыми и косвенными) к корневому объекту. Есть ли способ получить to_json (или аналогичный метод), чтобы автоматически включать все связанные объекты без явного указания их?Есть ли способ не verbosely выводить все зависимости, используя to_json?

ответ

2

Конечно, переопределить метод #to_json:

class Post < ActiveRecord::Base 
    def to_json(options={}) 
    super(options.merge(:include => :comments, :methods => [:arbitrary_field])) 
    end 
end 
+0

Это не будет включать в себя произвольные поля, хотя. Я хочу включить все возможные варианты, а не только ': comments'. – Mike

+0

Проверьте последнюю версию. Укажите: методы для добавления произвольных полей. См. Http://api.rubyonrails.org/classes/ActiveRecord/Serialization.html#M001873 –

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