Что ж, использование устаревших схем баз данных с ActiveRecord лишает вас некоторых преимуществ. Например, Rails использует подход «соглашение поверх конфигурации» для многих вещей, и ActiveRecord наследует это. Например, если у вас есть модель с именем Product, Rails предполагает, что ваша таблица будет называться «products». По этой причине вам не нужно настраивать имя таблицы. То же самое относится и к внешним ключам, соглашениям об URL-адресах и т. Д. Чем больше вы хотите, чтобы ваше приложение работало так, как работает Rails, тем проще будет время. Если ваша цель - не «создать приложение, которое делает X», а «преобразовать это приложение в Ruby и ActiveRecord», результирующий код будет не таким ясным или идиоматичным.
Если вы попытаетесь написать приложение так, как это принято для используемого вами инструмента, в результате вы, вероятно, получите более понятный и более понятный код.
Что касается предоставленного вами кода, мне не совсем понятно, что он должен делать (так как у меня нет контекста, чтобы узнать, что "submit_it", "user_id_agree", "annotation" и т. Д. Означают в ваше заявление.