Scaffoldを使って必要なファイルを自動生成する

Scaffold ツールを使用すると、アプリケーションの基本機能である CRUD(Create, Read, Update, Delete) を行うために必要なコントロール、ビュー、モデルなどのファイルを自動的に作成してくれます。ここでは Scaffold を使って必要なファイルを自動生成する方法について解説します。

(Last modified: )

Scaffoldコマンドを実行する

それでは実際に Scaffold コマンドを実行してみます。まず最初に通常の手順でアプリケーションを作成します。コマンドプロンプトを起動し、アプリケーションを配置するディレクトリへ移動してください。

Scaffoldコマンドを実行する(1)

今回は addressbook というアプリケーションを作成します。コマンドプロンプトから次のように実行してください。(私の環境では Git がインストールされていないので、実際には -G を付けて実行しています)。

rails new addressbook

Scaffoldコマンドを実行する(2)

※ アプリケーションを新規に作成する場合の詳細については「Railsアプリケーションを作成する」を参照されてください。

アプリケーションの作成が終わりましたら Scaffold コマンドを使ってコントロールやモデルなどを作成するためのコマンドを実行します。書式は次のとおりです。(複数のフィールドを指定する場合は、スペースをあけて続けて記述してください)。

rails generate scaffold モデル名
rails generate scaffold モデル名 フィールド名1:データ型1 ...

今回はモデル名を personal 、 string 型の name カラムと string 型の address カラムを持つモデルを作成します。

それではコマンドプロンプトでアプリケーションディレクトリに移動したあと、次のように実行してください。

rails generate scaffold personal name:string address:string

Scaffoldコマンドを実行する(3)

必要なファイルが自動的に作成されました。

Scaffoldコマンドを実行する(4)

invoke  active_record
create  db/migrate/20240615005508_create_personals.rb
create  app/models/personal.rb
invoke  test_unit
create  test/models/personal_test.rb
create  test/fixtures/personals.yml
invoke  resource_route
route   resources :personals
invoke  scaffold_controller
create  app/controllers/personals_controller.rb
invoke  erb
create  app/views/personals
create  app/views/personals/index.html.erb
create  app/views/personals/edit.html.erb
create  app/views/personals/show.html.erb
create  app/views/personals/new.html.erb
create  app/views/personals/_form.html.erb
create  app/views/personals/_personal.html.erb
invoke  resource_route
invoke  test_unit
create  test/controllers/personals_controller_test.rb
create  test/system/personals_test.rb
invoke  helper
create  app/helpers/personals_helper.rb
invoke  test_unit
invoke  jbuilder
create  app/views/personals/index.json.jbuilder
create  app/views/personals/show.json.jbuilder
create  app/views/personals/_personal.json.jbuilder

マイグレーションを行ってテーブルを作成する

Scaffold コマンドによってマイグレーションファイルも作成されています。具体的にどのようなファイルが作成されたのかはあとで確認しますが、マイグレーションファイルを使ってテーブルを作成しておきます。

コマンドプロンプトでアプリケーションディレクトリに移動してから次のようにコマンドを実行してください。(少し時間がかかります)。

rails db:migrate

マイグレーションを行ってテーブルを作成する(1)

これで準備は完了です。

-- --

Scaffold を使って必要なファイルを自動生成する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。