※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

アプリ開発2 ~scaffoldを利用したアプリケーション~



プロジェクトの作成

C:\RoR>rails app2


scaffoldの実行

一連の操作を行うための画面やその裏側の処理を行うプログラム&テーブルの雛形を自動生成
C:\RoR\app2>ruby script/generate scaffold person name:string age:integer
  • モデル
app/models/person.rb

  • ビュー(新規追加や修正などの各画面のテンプレート)
app/views/people/index.html.erb
app/views/people/show.html.erb
app/views/people/new.html.erb
app/views/people/edit.html.erb
app/views/layouts/people.html.erb

  • コントローラー
app/controllers/people_controller.rb

  • テーブル
db/migrate/20091024174646_create_people.rb(実行日時によってファイル名が異なります)

  • データベースのサンプルデータ
test/fixtures/people.yml

  • (モデル)person.rb? (コントローラー)people_controller.rb??
Railsの規約では一般に,名詞単数形のクラス名に対して複数形のテーブル名が対応し,そのテーブルのカラム名がクラスの属性名になります。
Railsは,あまり複雑ではないWebアプリケーションを新規に作成するという用途を主に想定しています。


マイグレーションの実行

雛形(db/migrate/20091024174646_create_people.rb)から実際のデータベース作成を行う

C:\RoR\app2>rake db:version
(in R:/RoR/app2)
Current version: 0  ←←←←←←←←←←←←データベースがない状態

マイグレーションの実行
C:\RoR\app2>rake db:migrate
(in R:/RoR/app2)
== CreatePeople: migrating ==========================================
 -- create_table(:people)
  -> 0.0000s
== CreatePeople: migrated (0.0000s) =================================

C:\RoR\app2>rake db:version
(in R:/RoR/app2)
Current version: 20091024174646  ←←←←←←←←←←←←データベースが作成されている状態


Fixtureによるサンプルデータの登録

RailsはFixtureというサンプルデータを登録する仕組みを持っています。
Fixtureは、YAML形式(データ形式の一種)、CSV形式、Single-file形式をサンプルデータのファイル形式としてサポートしています。

scaffoldは「test/fixtures/」にYAMLファイルを自動生成します。
YAMLファイルはテキストファイルなので、簡単に変更が可能です。
C:\RoR\app2\test\fixtures\people.ymlを確認する
>rake db:fixtures:load


Railsアプリケーションの起動

C:\RoR\app2t>ruby script/server


Railsアプリケーションの起動確認

ブラウザで下記アドレスにアクセス
http://localhost:3000/people/

以下の5機能が使えることを確認する
  • 一覧表示(ページング機能付き)
  • 単票形式のデータ表示
  • 新規登録
  • 編集
  • 削除


Railsアプリケーションの終了

コマンドプロンプト上で Ctrl+C