Rails スタート地点

初めてRailsを触る時からメモ帳っぽいものを作るところまで。

下準備

Instant Rails 1.7
ダウンロードして解凍。環境変数のPathにruby\binを通す。Rubyのバージョンは1.8.6p0、Railsのバージョンは1.2.3。
RadRails
Aptanaをダウンロードしてインストール。起動後、RadRailsを入れる。文字コードUTF-8に変更(設定>一般>ワークスペース)。

データベース

  1. PostgreSQL8.2.5をダウンロード&インストール。
  2. binにPathを通す。(RadRailsが起動済みの場合は上げなおす)

ruby-postgres

  1. GEMで入れる。
DOS窓>gem install ruby-postgres
Select which gem to install for your platform (i386-mswin32)
 1. ruby-postgres 0.7.1.2006.04.06 (ruby)
 2. ruby-postgres 0.7.1.2006.04.06 (mswin32)
 3. ruby-postgres 0.7.1.2006.04.05 (mswin32)
 4. ruby-postgres 0.7.1.2006.04.05 (ruby)
 5. Skip this gem
 6. Cancel installation
> 2
Successfully installed ruby-postgres-0.7.1.2006.04.06-mswin32
Installing ri documentation for
 ruby-postgres-0.7.1.2006.04.06-mswin32...
Installing RDoc documentation for
 ruby-postgres-0.7.1.2006.04.06-mswin32...

RadRails

プロジェクト作成

Rails Projectを選択する。ここではプロジェクト名「message」で作成。

DB接続設定

\message\config\database.yml

development:
  adapter: postgresql
  database: message_development
  username: DBロール名
  password: DBパスワード
  host: localhost

DB作成
PostgreSQLにDB名「message_development」を作成する。文字コードUTF-8
GUIに慣れている人はpgAdminを使うと楽。

modelをgenerate

画面下部のGeneratorsタブ

  1. Model
  2. message
  3. 「GO」をクリック
DBテーブル定義

\message\db\migrate\001_create_messages.rb

class CreateMessages < ActiveRecord::Migration
  def self.up
    create_table :messages do |t|
      t.column :name, :string, :limit =>32
      t.column :title, :string, :limit =>128
      t.column :created_at, :timestamp
      t.column :memo, :text
    end
  end

  def self.down
    drop_table :messages
  end
end
マイグレート

画面下部のRake Tasksタブ

  1. db:migrate
  2. (空欄)
  3. 「GO」をクリック
(in D:/Aptana/message)
== CreateMessages: migrating ==============================
====================
-- create_table(:messages)
   -> 0.2350s
== CreateMessages: migrated (0.2350s) =====================
====================

NOTICE:  CREATE TABLE will create implicit sequence
 "messages_id_seq" for serial column "messages.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
 "messages_pkey" for table "messages"

テーブル完成。

スキャフォールド

画面下部のGeneratorsタブ

  1. scaffold
  2. message
  3. 「GO」をクリック
  4. Serverタブで動作確認
http://localhost:3000/messages/

ポート番号は違うかも。

感想

やり方さえ分かれば作り始めから出来上がりまでが異常に速いのに驚きました。まだまだスタート地点に立っただけなのでこれからが本番ですね。ブラックボックスっぷりが怖いですが得られるものも大きいので、基本をおさえた上でこういうのを触るのは良いと思います。
とは言え、これからどうやって触っていけば良いかさっぱりなので、Railsに詳しい人からアドバイス頂けたらありがたいです。まずは本を読んで知識つけるしか無いかな・・。