Dane powiązanych modeli przechowywane w YAMLu, problem z protected att

witam
mam kilka modeli powiazanych ze sobą relacją has many, Survey->Page->Group->Question, każde ma dodaną akceptację zagniezdżonych atrybutów dla modelu dziecka. np. w modelu Page mam

accepts_nested_attributes_for :groups, :reject_if => lambda { |g| g[:title].blank? }, :allow_destroy => false

Stworzyłem sobie gotowy szablon w YAML, który odwzorywuje parametry które przesyłamy np z formularza z zagniezdzonmi atrybutami i zapisałem w bazie, przykładowo

survey: title: jakis tytul description: jakis opis pages_attributes: 0: title: Strona pierwsza groups_attributes: 0: title: grupa 1.1 questions_attributes: 0: title: pytanie 1.1.1 question_type: "ShortText"
W logu jest transakcja, ładnie próbuje dodać survey, page i group ale wywala sie przy question. Problemem jest to że pole question_type jest użyte jako typ klasy dla STI, np ShortText < Question i wywala mi warning oraz później błąd

WARNING: Can't mass-assign these protected attributes: question_type ... ActiveRecord::StatementInvalid (Mysql::Error: Column 'question_type' cannot be null: ..
mimo że question_type jest napewno ustawiony w tablicy uzyskanej z YAMLa. Czy da się to jakoś zrobić unikając parsowania całej tablicy i tworzenia po kolei obiektów dla każdego poziomu ?
Chyba że ktoś ma całkiem inne lepsze rozwiązanie żeby sobie przechować w bazie taki szablon powiązanych obiektów ?