Ruby on Rails †
Ruby on Rails とは †スクリプト言語のRubyにより構築された、RESTfulなWebアプリケーション開発のためのフレームワーク。 railsプロジェクトの作成 †rails new -d mysql rails_example ※上記の場合、カレントディレクトリに rails_example ディレクトリが作成される データベースとユーザの作成 †mysql -u root -p mysql> create user rails_example@localhost identified by 'rails_example'; mysql> GRANT ALL PRIVILEGES ON rails_example.* TO 'rails_example'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit 鍵の生成 †bundle install 上記で表示された鍵を環境変数に設定しておく export SECRET_KEY_BASE=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 以降は、実行前にプロジェクトのディレクトリに移動しておく モデルの生成 †rails generate model xxxxx コントローラの作成 †rails generate controller xxxxx モデル、コントローラの生成 †rails generate scaffold モデル名 列名1:データ型1 列名2:データ型2 .. scaffoldの例 †rails generate scaffold book isbn:string title:string price:integer scaffoldの例(migrationをスキップする場合) †rails generate scaffold book isbn:string title:string price:integer --skip-migration 尚、scaffoldで指定できるデータ型は以下の通り。
DBのmigrate †rake db:migrate DB(Mysql)への日本語データ登録でエラーになる場合 †# データベースの文字コード変更 # テーブルの文字コード変更 アクションの追加 †※参照:http://d.hatena.ne.jp/zariganitosh/20080203/1202091772 (1) config/routes.rb に下記を追加 ActionController::Routing::Routes.draw do |map| . . . map.resources :employees, :collection => { :action1 => :get } . . end ※employees はコントローラ名 (2) employees_controller.rb にメソッドを追加 定義済みアクションの確認 †rake routes rakeのタスク一覧の確認 †rake -T サーバの起動 †rails server -e production ActiveRecordの使い方(途中) †@employees = Employee.find(:all, :conditions => [ "name like ?", user_name]) テーブルデータの初期化(FIXTUREを利用) †test/fixtures/テーブル名.yml にテストデータを用意 †one: name: EMP01 dept_id: 1 two: name: EMP02 dept_id: 1 data3: name: EMP03 dept_id: 1 data4: name: EMP04 dept_id: 1 data5: name: EMP05 dept_id: 1 以下のようにスクリプトにする事も可能 <% 0.upto(9) do |n| %> data<%= n %>: name: EMP<%= sprintf("%02d", n) %> dept_id: 1 <% end %> データのロード †rake db:fixtures:load FIXTURES=employees |