「場合による」がおそらく最良の答えです。フィールドはいくつありますか?部門フォームの種類ごとにいくつのロジックが存在しますか?
すべてのフィールドを別々のモデル (および対応するテーブル) に分割すると、入力後にフォームの完全な概要が必要になると、フォームが別々のテーブルになるため、面倒になります。完全なフォームを取得するには、フォームのすべての関連付けを実行する必要があります。
部門ごとに多くのロジックがあるため、それらを分割したい場合は、table_nameを使用して、すべてのフィールドを含む 1 つの「メイン」テーブルにすべてのモデルをポイントできます。そうすれば、すべてのデータが 1 つのテーブルに格納され、簡単に取得できます。ただし、フォームのタイプを正しいモデルで取得するには、フォームのタイプも保存する必要があります。(すべてのフィールドを 1 つのテーブルに保存するのが最善である場合は、取得される頻度や挿入/更新される頻度も異なります。)
単純なフォームは、おそらく 1 つのモデルにうまく適合します。部門ごとに共有できないコードが大量にない限り、フォームを別々のモデルに分割する価値はおそらくありません。フォームをモデルに分割する場合は、メイン フォーム モデルを 1 つ作成し、再利用可能なフォーム ロジックがあればそれを部門モデルに拡張させる必要があります。
結局のところ、私はシンプルさを好むので、おそらく 1 つのモデルに保存したいと思います。