У меня есть два класса, Foo и Bar.Foo has_many Бары.Bar на самом деле является суперклассом нескольких классов, совместно использующих таблицу STI.
Я хочу сделать дамп моих записей Foo, включая связанные с ними Bars.Для этого я звоню
Foo.all.to_json(:incude => :bars)
Первоначальная проблема заключается в том, что я хочу различать различные виды классов Bar.Rails делает это различие через столбец типа в таблице Bar, но этот столбец не включен в сериализацию записей Ber в json.
Итак, я переопределил to_json в классе Bar, чтобы включить атрибут type.когда я вызываю to_json для экземпляра Bar, я получаю новые результаты, но когда я вызываю to_json для Foo и включаю его Bars, я получаю старый to_json (т.е. без включенного атрибута type).
I 'С тех пор я разочаровался в этом и собираюсь использовать другой подход, но мне все еще интересно, что здесь происходит.Может быть, я должен использовать as_json вместо to_json?Я до сих пор не понимаю разницу между этими двумя методами.