Курить нужно в сторону nested model form
Модели для каждой таблицы всё равно придётся делать в том числе для валидации. Контроллер не обязательно.
foreign_key для целостности связей на уровне БД напрямую к форме не относится, но в целом лучше его применять чем нет.