![見出し画像](https://assets.st-note.com/production/uploads/images/34019558/rectangle_large_type_2_547c13abe7df1d92b330c39d71d5d8ae.jpg?width=1200)
便利な『Rails』Scaffoldの使い方
scaffoldとは
railsアプリケーションの開発する際には、モデルやコントローラー、ビューを作っていき、さらに必要なルーティングを作成していく必要がある。railsにはこれらの作業をまとめて行って、簡単にアプリケーションの雛形を作ってくれる機能がscaffold。scaffoldを使うことで素早くrailsアプリケーションを作ることができる。
使ってみる。
ターミナルで、下記のようにコマンドを実行。
$ rails new sample
$ cd sample
$ rails g scaffold モデル名 カラム名1:データ型1 カラム名2:データ型2 …
例え
$ rails g scaffold user name:string age:integer
これで、アプリケーションを作成するテンプレートファイルが下記のように作成されます。
マイグレーション・モデル
次の2ファイルがデータベースのテーブルやカラムを変更することの出来るマイグレーションファイルとUserモデルのファル。
・db/migrate/201639344_create_users.rb
・app/models/users.rb
コントローラーとルーティング
コントローラファイル
・app/controllers/users_controller.rb
作成されたusers_controller.rbを見てみると、7つのアクションが自動的に定義されているのが分かる。これらのアクションを呼び出してデータの参照、作成、変更、削除を行うことができる。
また、ルーティングの設定ファイルも自動更新される。
以下のファイルの中を見てみる。
・config/routes.rb
ファイルの中に
resources :users
という記述が追加されている。
この記述をすることでユーザー管理機能にアクセスすることができるようになる。
ビュー
コントローラーで定義されたアクションに対応するビューファイルが全て作成されている。
テーブルの作成
先ほど実行したscaffoldでアプリケーションの雛形は完成したが、最後にデータベースのテーブルを作成する必要がある。
テーブルを作成にはマイグレーションファイルを使用する。
scaffoldで自動生成されたものがある。
次のコマンドを実行してテーブルを作成する。
$ rake db:migrate