ステップ実行OKに。

ここまでまとめる

忘れそうなのでまとめる。
Blogをメモ帳として使う俺。

Rubyインストール

どこからか忘れた・・。
ここから1.8.5をインストールした気がする。ちなみに環境はwin32。
http://www.garbagecollect.jp/ruby/mswin32/ja/download/release.html

Gemsのインストール

なんかデフォで入ってた気がする。
入ってなかったググる

Railsをgemsでインストール

コマンドラインから

gem install rails

なんか聞かれたら全部Y。

RadRails付きAptanaと書かれているものをインストール

http://www.radrails.org/download_all.php
ダウンロードしてインストーラでインストール。

SQLite3インストール

インストールといいつつ、Win用バイナリのsqlite3.exeとsqlite3.dllとsqlite3.def(defは要らないという話もある)をここからダウンロードして、
http://www.sqlite.org/download.html
あとはrubyのbinディレクトリにコピーしただけ。
sqliteディレクトリ作ってパス通しても多分同じ。

SQLite3のruby用をインストール

gemでさくっと。

gem install sqlite3-ruby

sqlite-rubyだけだと2.x系になるので注意。

Aptana起動

クイック起動バーなりスタートメニューなりデスクトップなり適当に。
結構時間かかる。

Railsの開発環境を導入

以下Aptana上の操作。

  1. ヘルプ→ソフトウェア更新→検索およびインストール
  2. インストールする新規フューチャーを検索する を選択して「次へ」
  3. Ruby on Rails Development Environment、だっけなぁ?を選択して、次へとか、完了とか、適当に。
  4. 画面右上に「Aptanaパースペクティブ」と書かれたアイコンがあるので、その左辺りを選択してRailsパースペクティブを出す

こんな感じだったと思う。後で社員に連絡するというのにこのいい加減な感じがなんとも。


なんかインストールオプションとか色々いじる人なら、ウィンドウ→設定→Ruby→Installed Interpreterとか設定しないとまずいかも。適当に。

新規プロジェクト

ファイル→新規→Rails Project
プロジェクト名は適当に。Mongrel使うなら、Create a Mongrel Serverにチェック入れて、Create a WEBRick Serverのチェック外せばいいんだと思う。

DB作成

コマンドラインからsqlite3でがんばって作る。
とりあえずプロジェクトのカレントディレクトリに移動して、私はdbというディレクトリの中に作る。なぜなら11分(後略)がそうやっていたから。

sqlite3 db\dev.db
create table expressions (id INTEGER PRIMARY KEY, name VARCHAR(255));
insert into expressions values(1, 'tarou');

こんな感じ。思わぬエラーが出ないよう念のため一行データを入れてる。

database.ymlの編集

プロジェクトのカレントディレクトリ/config/database.ymlを開いて、こうする。

development:
  adapter: sqlite3
  database: db/dev.db

test:
  adapter: sqlite3
  database: db/dev.db

production:
  adapter: sqlite3
  database: db/dev.db

testとproductionいらんのかも。あったので全部同じDBで動く意味ない設定でとりあえず残す。
だってconfig/environmentsにproductionとか、明らかにこの項目とマッチしているっぽいやつがあるし、それ消していいのかもわからんからな。

サーバ起動

画面下の方に「Servers」というタブがあるので、それを選択して、適当にいじってサーバを動かす。
Serversがなければ、画面一番左下の小さいアイコンをクリックして、Serversってのを出してからやる。
これで、問題なければとりあえず動く。
http://localhost:3000/とかにアクセスして、悦に浸る。

scaffoldを作る

Serversと同じところにあるGeneratorsってのから、scaffoldを選択して、画面右の入力欄に「Expressions」と記入してGo。ここはDB名と同じにすること。
Serversと同じところにあるGeneratorsってのから、scaffoldを選択して、画面右の入力欄に「Expression」と記入してGo。ここはDB名から複数系のsを除いた名前をつける模様。
なんかハードディスクがカチャカチャいってる内はほっとく。そのうち表示がコンソールに切り替わり、結果が出る。OKならOK。駄目なら駄目。

サーバ再起動してテスト

で、もう一回サーバを再起動する。ちなみにデバッグで起動して、ブレークはれば、ステップ実行も出来る。
app/views/expressionsに色々rhtmlを作られてるので、そのrhtmlがWebに使用出来るアクションだと思えばよさげ。
つまり、以下のURLにはアクセス出来るようになっている。
http://localhost:3000/show
http://localhost:3000/list
http://localhost:3000/new
http://localhost:3000/edit
この時点でRubyが読めればapp/controllers/expressions_controller.rbの中身見ても、アクション一覧の抽出が可能だと思われる。他にもありそうだが、まだわからん。


で、一行目のレコードにアクセスするにはこう。
http://localhost:3000/show/1
編集するにはこう。
http://localhost:3000/edit/1
二行目にアクセスするにはこう。
http://localhost:3000/show/2
わかりやすー。
で、今はここでlistが出ないという状況。

list問題

今んとこ不明。
上記手順のどっかに問題があんのかも。
URLは各rhtmlのbackというリンクを見ても間違ってないから、中身の問題だと思うんだが。
なぜ自動生成中身で上手く動かないのか不明。
これがわかれば、大分読み解けてきそう。というか、ドキュメントなんて見なくても、自動生成コード追って、Railsの中身覗いてればアーキテクチャもわかりそうな気がしてきた。
まあ、べき論を知るには設計指針を知らないといけないから、アーキテクチャがわかった程度じゃ駄目なことは知っているのでドキュメントも読むけども。