10. Railsアプリの作成(1) 1. プロジェクトを作ってみよう # rails プロジェクト名 –d mysql ※-dオプションはDBの指定(今回はmysql) ディレクトリの内容を確認 app:アプリ、config:設定ファイル、db:DB定義 public:コンテンツ置き場、script:サーバ、ジェネレータ 2. マイグレーションでDBを作る # cd rails_test # ruby script/generate migration person
11. Railsアプリの作成(2) 3. マイグレーションファイルを編集する # vi db/migrate/***.rb class Person < ActiveRecord::Migration defself.up create_table :people do |t| t.string :name t.integer :age t.timestamps end end defself.down drop_table :people end end
12. Railsアプリの作成(3) 4. DBを作成する # vi config/database.yml ※DBの設定を確認する。必要ならスキーマ名を変更する。 rakeコマンド:DB操作(作成、削除、マイグレーション) # rake db:create # rake db:migrate 5. DBの内容を確認する # mysql –u root mysql> show databases; mysql> use project1_development; mysql> show talbes;
13. Railsアプリの作成(4) 6. コントローラとビューを作る #ruby script/generate controller people ※controllerの指定でコントローラとビューが作成される 7. モデルを作る # ruby script/generate model --no-migration ※オプションでマイグレーションしないを指定
14. Railsアプリの作成(5) 8. コントローラを編集する # vi app/controllers/people_controller.rb DBの登録内容を表示するメソッドを作成 class PeopleController < ApplicationController def index @people = Person.find(:all) respond_to do |format| format.html # index.html.erb format.xml { render :xml => @people } end end end
15. Railsアプリの作成(6) 9. ビューを編集する # vi app/views/people/index.html.erb コントローラのindexメソッドに対応する画面表示 <h1>Listing people</h1> <table> <tr> <th>Name</th> <th>Age</th> </tr> <% for person in @people %> <tr> <td><%=h person.name %></td> <td><%=h person.age %></td> </tr> <% end %> </table>