- RadRailsを起動
- Ruby エクスプローラー上で右クリック>新規>Rails プロジェクト
- プロジェクト名に「ToDo」あとはデフォルトでOK。「プロジェクト作成後にサーバーを自動開始」にチェックを入れておくと自動実行されるのでチェックに便利。
- 新規プロジェクト「ToDo」が作成される
疑問点:
マイグレーションとはなんぞや。自動生成の設定かな?
→「DBのスキーマ(テーブルやカラムなどの構造)の変更をツールで管理する仕組み」らしい。なるほど。
script/generate scaffold Category category:string exists app/models/ exists app/controllers/ exists app/helpers/ exists app/views/categories exists app/views/layouts/ exists test/functional/ exists test/unit/ exists test/unit/helpers/ exists public/stylesheets/ create app/views/categories/index.html.erb create app/views/categories/show.html.erb create app/views/categories/new.html.erb create app/views/categories/edit.html.erb create app/views/layouts/categories.html.erb create public/stylesheets/scaffold.css create app/controllers/categories_controller.rb create test/functional/categories_controller_test.rb create app/helpers/categories_helper.rb create test/unit/helpers/categories_helper_test.rb route map.resources :categories dependency model exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/category.rb create test/unit/category_test.rb create test/fixtures/categories.yml create db/migrate create db/migrate/20100805021554_create_categories.rb
rake db:migrate == CreateCategories: migrating =============================================== -- create_table(:categories) -> 0.0017s == CreateCategories: migrated (0.0019s) ======================================
CakePHPと同様、RoRもCRUD(Create, Read, Update, Delete)なディレクトリ構成でアクセスする。
RESTfulとはなんぞやについてはこちらを参照。もしくは資料のP.12〜13辺りに詳しい。
RoRの場合はrakeコマンドを使用することでアプリケーションのメソッドに対するHTTPメソッドの対応リストを見ることができる。
RedRailsの場合、
でコンソールにリスト表示される。
>rake routes categories GET /categories(.:format) {:controller=>"categories", :action=>"index"} POST /categories(.:format) {:controller=>"categories", :action=>"create"} new_category GET /categories/new(.:format) {:controller=>"categories", :action=>"new"} edit_category GET /categories/:id/edit(.:format) {:controller=>"categories", :action=>"edit"} category GET /categories/:id(.:format) {:controller=>"categories", :action=>"show"} PUT /categories/:id(.:format) {:controller=>"categories", :action=>"update"} DELETE /categories/:id(.:format) {:controller=>"categories", :action=>"destroy"} /:controller/:action/:id /:controller/:action/:id(.:format)
うっほ超便利。