Rails2.2.2をMacに入れてみたらものすごくハマって涙目><
Macの開発環境構築祭を大絶賛開催中なのでRails2.2.2を入れてみた。
rubyとgemとRailsとpostgresqlはすでにMacPortsでインストール済み
なところからスタートしてます。
まずはアプリの作成
$ rails testApp --database=postgresql
適当なディレクトリ以下で実行します。DBはpostgresqlを使うので
--database=postgresqlをつけて実行してます。
DBの設定で涙目><
$ vi database.yml
おなじみdatabase.ymlを修正。Emacs使えよ!なんて言わないで><
といっても接続ユーザー名とパスワード書くだけの簡単なお仕事。
Rails2.2ではrakeコマンドでDBまで作れちゃうんですね。rake++
さっそく実行します。
$ rake db:create (in /Users/reg/railsApp/testApp) rake aborted! Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (no such file to load -- pg) (See full trace by running task with --trace)
というわけで、rakeコマンド失敗してます。
postgresqlのアダプタがないわよ!ばか!
さっさとgem install activerecord-postgresql-adapterってこと
ですね。わかりました。
エラーメッセージに従ってさっそく実行。
$ sudo gem install activerecord-postgresql-adapter ERROR: could not find gem activerecord-postgresql-adapter locally or in a repository
なんということでしょう。gemコマンドまで失敗してます。
activerecord-postgresql-adapterなんてないわよ!バカなの!死ぬの?
と言われます。
ググってみるとgem install pgするといいよ!とgem install postgresする
といいよ!という情報の2通りがありました。
とりあえずgem install pgから。
$ sudo gem install pg Building native extensions. This could take a while... Successfully installed pg-0.7.9.2008.10.13 1 gem installed Installing ri documentation for pg-0.7.9.2008.10.13... Installing RDoc documentation for pg-0.7.9.2008.10.13...
最初なんどか失敗したのですが最終的にはインストールできた。
失敗した原因はpostgresqlにPATHが通ってなかったこと。*1
で、rakeコマンド実行したけど失敗。activerecord-postgresql-adapterがいる
っていうメッセージが出ます。
次にgem install postgres
$gem install postgres Building native extensions. This could take a while... Successfully installed postgres-0.7.9.2008.01.28 1 gem installed Installing ri documentation for postgres-0.7.9.2008.01.28... Installing RDoc documentation for postgres-0.7.9.2008.01.28...
インストールはできた。rakeコマンドも実行できた!*2
Modelの作成
$ script/generate scaffold Address name:string address:string
名前とアドレスをあつかうだけの簡単なModel。
終わった後にdb:migrateしてます。
Controllerの作成
$ script/generate controller admin
これも追加、編集、削除するだけの簡単なやつを作成。
Weblicの起動
$ script/server
3000番ポートに常駐します。
ブラウザで確認
Model名+sだからこんな感じかと思ったらちがう><
db/migrate以下を見たら20090207182400_create_addresses.rbって
出来てた。なのでコレが正解。ちゃんと複数形を認識してるようです。
Railsは普段アワワワってなってる委員長だけどやればしっかりできる子だな。
おしまい。