ウェブアプリの雛形作成

scaffoldについて

scaffoldとは、Railsの機能の一つで、ウェブアプリの雛形を簡単に作ることができます。

この雛形は、以下の機能を持ちます。

  • scaffold実行時に、ウェブアプリに必要なデータ(と型)を指定できます。
  • 自動的に、データを保存するデータベースを作成します。
  • 作成したウェブアプリは、データの登録、編集、削除、一覧表示、個別表示の機能を持ちます。

ブログアプリの作成

ここでは、scaffoldを使ってブログアプリを作っていきます。

ブログアプリの設計

一般的なブログアプリは、どんなデータを持っているでしょうか。

  • ユーザ(投稿者)のアカウント
  • ユーザのプロフィール
  • ブログ記事

ブログ記事には、どんなデータが必要でしょうか。

  • 投稿者名
  • 投稿日
  • タイトル
  • 内容
  • 画像
  • カテゴリ

ここでは、アプリを簡単にするために、ブログ記事の部分のみ作ります。

scaffoldの設定

scaffoldは、以下のようなコマンドで実行します。

rails generate scaffold モデル名 データ名1:データ型1 データ名2:データ型2 ・・・ データ名n:データ型n

モデル名とは、scaffoldで作る機能(アプリ)の名前です。

ここでは、ブログ記事を作成するので、モデル名はblogとします。

データ型は、以下の種類があります。

  • string: 文字列
  • text: テキスト(長い文字列)
  • integer: 整数
  • float: 実数(浮動小数)
  • decimal: 制度の高い実数
  • boolean: 真偽値
  • binary: バイナリ
  • date: 日付
  • time: 時間
  • datetime: 日時
  • timestamp: タイムスタンプ(日時)

ここでは、ブログ記事として、以下のデータを持つようにします。

  • 投稿者名(user_name): string
  • 投稿日(published_date): datetime
  • タイトル(title): string
  • 内容(content): text

投稿日は、日付に加え時間も持たせたいので、datetimeにしています。

scaffoldの実行

ターミナルで、現在の場所を確認します。以下を入力してください。

pwd

pwdはLinuxコマンドです。

現在いる場所が表示されます。

/home/ubuntu/eastback-blog
pwd

プロジェクト名とフォルダ名(上記ではeastback-blog)は同じ名前になります。みなさんのフォルダ名に合わせて変えてください。 もし、場所が違っているのであれば、cdコマンドで移動てください。

それでは、ブログアプリを作成します。ターミナルで、以下を実行してください。

rails generate scaffold blog user_name:string published_date:datetime title:string content:text
scaffold

実行が終了するまでに、しばらく時間がかかります。

終わったら、データベースを作成します。

ターミナルで、以下を実行してください。

rails db:migrate
db:migrate

これで、ブログアプリの完成です。

ブログアプリの表示

Railsプロジェクトの作成 - ウェブサーバの確認と同様に、ウェブサーバを起動して表示させます。

以下を入力してEnterキーを押します。

rails server
Web Server

ブラウザアイコンをクリックします。ブラウザウィンドウが起動して、Railsのデフォルト画面が表示されます。

Web Server

見やすいように、ブラウザウィンドウを拡大表示します。

scaffoldで作成したアプリを表示させるには、URLの最後に/blogsと追加して、Enterキーを押すと表示されます。

blogではなくblogsと複数形であることに注意してください。

Blog App

scaffoldを使うだけで、ウェブアプリが簡単に作成できました。

ブログアプリの動作確認

まだブログ記事は空です。ブログ記事を登録してみます。

New Blogをクリックしてください。

Create Blog

New Blog(新規登録)画面が表示されます。

Create Blog

適当に入力してください。入力したら、Create Blogボタンを押してください。

Create Blog

登録内容が表示されます。backをクリックしてください。

Create Blog

最初の画面(ブログ一覧画面)が表示されます。登録した内容が表示されています。

Create Blog

同様に、もう一つブログ記事を作成してください。一覧に戻ると、2つ目が表示されています。

Create Blog

ブログ記事を編集する場合は、一覧の右側にあるEditをクリックします。

Editting Blog(編集)画面が表示されます。

Create Blog

編集してUpdate Blogボタンを押すと、登録内容が表示されます。backをクリックしてください。

Create Blog

ブログ一覧が表示されます。変更した内容が表示されています。

Create Blog

ブログ記事を削除する場合は、一覧の右側にあるDestroyをクリックします。

確認用ダイアログが表示されます。OKボタンを押すと削除され、キャンセルボタンを押すと、削除がキャンセルされます。

Create Blog

このように、scaffoldを使って作成したウェブアプリは、アプリとしての基本的な機能(登録、編集、削除、表示)を持っています。

更新日: