RailsのScaffoldを使って3分でwebアプリを作ってみる


Ruby on Railsのscaffoldを使って最速でwebアプリケーションを構築してみます。

Scaffoldとは

まずはRuby on Railsのscaffoldとは何かについて解説します。

scaffoldとは、Railsに備わっているコマンドの1つで、ルーティングやコントローラー(controller)、ビュー(view)、モデル(model)とテーブル(データベース)の記述やファイルなどを自動で作成してくれるコマンドです。

本来、scaffoldは建築現場の足場やビルの窓を拭くときに使用される吊り足場を意味します。Ruby on Railsのscaffoldにおいても、アプリケーションの足場であるMVC(上記で紹介したModel-View-Controller)等を指し示し、それらを容易に自動生成できます。

つまり、scaffold を使用することで、コントローラーやモデルを作成する手間を省くことができます。

scaffoldを使って作成されるルーティングは、Railsが定める7つのアクションになります。(index・show・new・edit・create・update・destroyアクションの7つです。)

以上がRails scaffoldについての簡単な説明になりますが、さすがにこれだけでは分かりにくいので、以下からは実際にRailsのscaffoldを使って、WEBアプリケーションを作ってみます。

実装

実際にScaffoldを使ってアプリケーションを作ってみます。

まずはターミナル上で次のコマンドを打ち込みます。

rails new testapp

次にディレクトリを移動します。

cd testapp

ここからScaffoldを利用します

【scaffoldのコマンド書式】

rails g scaffold モデル名 カラム名①:データの型① カラム名②:データの型②・・・

上記の書式に沿って、モデル、カラムを設定しましょう。
今回は簡単にTweetモデルにcontentカラムのみをのっけて書いてみます。

rails g scaffold Tweet content:string

このコマンドでmodel、controller、viewすべてが作成されました。
最後に

rails db:migrate

こちらを打ち込みmigreteします。
これで完成です。驚く程かんたんですね。

動作確認

最後に、どんなものが完成したのかを確認します。
まずは、アプリのディレクトリ上で

rails s

と打ち込みます。

起動が確認できたら、Chromeなどのブラウザで

http://localhost:3000/tweets

上記のURLを直接入力します。

このような画面が出たら成功です。
画面上の NewTweetから飛び、
なにか投稿を入力してみましょう。

投稿がうまくいけば下記のような画面になるはずです。

編集や削除などの機能も勝手に実装されていることが分かります。

まとめ

今回Scaffoldを使ったwebアプリケーション構築のかんたんな例を示してみました。
大規模なアプリ開発時にはあまり使えませんが、軽くテスト用のアプリを作りたかったり、 個人開発の小規模なアプリであれば開発スピートに大きく貢献してくれる便利な機能だと思います。