Rails でテーブルごとに初期データを登録できるように改良する方法を考えます。 Rails では db/seeds.rb に初期データを登録するスクリプトを記述します。 db/seeds.rb は rake の db:seed タスクにより実行されます。 rake db:seed この仕組みを改良し、テーブル単位で初期データを登録できるようにします。 アプローチは色々考えられますが、ここでは以下のように改良する方法を考えます。 db/seeds.rb をテーブルごとに分割して作成する。 分割したファイルを個別に実行する rake タスクを定義する。 db/seeds.rb をテーブルごとに分割する まずは db/seeds.rb をテーブルごとに分割します。 分割したファイルは db/seeds というディレクトリを作成し、その中に保存することにします。 具体的には、以下のようになります