RubyOnRails-Scaffold

Ruby On Rails Scaffold概要

Scaffoldとは

Scaffoldとは、Webアプリケーションのひな形となるアプリケーションを作り上げる機能です。

なお、Scaffoldは「土台」という意味です。


RailsにおいてScaffold機能を使うと、1つのコマンドを実行するだけでアプリケーションに必要なMVC(モデル/ビュー/コントローラ)などの骨組みを自動的に作成することができます。


Ruby On Rails Scaffold操作

Railsアプリケーションの作成


rails new アプリケーション名

Scaffold実行

Scaffold機能を使ってコントロールやモデルなどを作成します。

書式は以下の通りです。


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

実行例


$ rails generate scaffold addrlist name:string address:string

モデル

モデルのテンプレートは以下に作成されます。


app/models/モデル名.rb

なお、マイグレーションは以下に格納されます。


db/migrate/日付_create_モデル名.rb

コントローラ

「index」「show」「new」「edit」などののアクションメソッドが自動的に定義されます。

これらのアクションを呼び出すことでデータの追加や取得を行なうことができます。


app/controllers/モデル名_controller.rb

ビュー

ビューは各アクションに対応しています。


app/views/モデル名/index.html.erb
app/views/モデル名/edit.html.erb
app/views/モデル名/show.html.erb
app/views/モデル名/new.html.erb
app/views/モデル名/_form.html.erb

マイグレーションスクリプトの実行

Scaffold機能により作成されたマイグレーションスクリプトは実行はされていない状態となります。

アプリケーション起動前にマイグレーションスクリプトを実行する必要があります。


$ rake db:create
$ rake db:migrate

マイグレーションスクリプトを実行したら、アプリケーション動作が可能になります。


$ rails server

関連ページ