Aptana RadRails on OSX Leopard で Ruby on Rails + MySQL5 アプリ開発
Aptana RadRails で新規 Rails プロジェクトを作成。プロジェクト名:demo、データベース:MySQL、WEBrick サーバーを選択。
プロジェクトを作成すると まず Ruby gems 2.0.2 がないというエラーが出る。
Missing the Rails 2.0.2 gem. Please `gem install -v=2.0.2 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.
しかし、ターミナルで確認すると Rails 2.0.2 が入っているんだけど、なぜだろう?
$ rails -v Rails 2.0.2
設定ファイル config/environment.rb のバージョン指定を書き換えるか、gem を使ってインストールせよ、とのことなのだけど、調べてみるとrails-2.0.2 ではなく rails-2.0.2.9216 がインストールされているようだ。
$ ls /Library/Ruby/Gems/1.8/gems/ | grep rails* rails-2.0.2.9216/
そこで、config/environment.rb のバージョン指定を 2.0.2 → 2.0.2.9216 に修正。
次に MySQL の接続エラーが出るので、こちらも素直にインストール。
sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
さらに、MySQL のルートユーザーにパスワードを設定している場合は、/demo/config/database.yml ファイルにパスワードを書き込んでやる必要がある。
これでやっとアプリケーションの開発を始められる状態になった。(^_^
Hello World! を作成
以下『RailsによるアジャイルWebアプリケーション開発 第2版』に沿ってやってみる。
Aptana RadRails の「ジェネレーター」タブを開き、生成プログラム:controller が選択された状態で、パラメーターのところに Say と入力して「実行」すると、コンソールタブに以下のように表示され、いくつかのファイルが自動生成されたことがわかる。
exists app/controllers/ exists app/helpers/ create app/views/say exists test/functional/ create app/controllers/say_controller.rb create test/functional/say_controller_test.rb create app/helpers/say_helper.rb script/generate controller Say > >
app/controllers/say_controller.rb を開いて hello というアクションを追加する(def hello から end までの部分)。RadRails のコード補完が動作するので便利。
class SayController < ApplicationController def hello end end
次に View を作成する必要があるが、これはメニューバーの「V」のアイコンをクリックするだけでオーケー(超便利)。hello アクションのために hello.rhtml を作成する。
デフォルトでは charset=iso-8859-1" のページが作成されるので、文字コードを UTF-8 などにしておいた方が便利だろう。これは「ヘルプ > 設定 > Aptana > エディター > ERB/RHTML」のところで変更できる。
さて、いよいよブラウザーで http://127.0.0.1:3000/say/hello にアクセスすれば Hello World! が表示されるはずなのだけど。
Unknown database 'demo_development'
Hello World! ではデータベースなんか不要なのだけど、データベースに MySQL を指定したために、demo_development というデータベースがないよ、というエラーが出る。やれやれ。この際だから、phpMyAdmin を入れておこう。
OSX Leopard に phpMyAdmin をインストール
Mac OS X(Leopard)にphpMyAdmin 2.11 をインストールの通りにやるだけ!
とはいえ、いくらか違っている箇所もあった。phpMyAdmin の設定ファイル(config.inc.php)には、以下の項目も必要だった。
$cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock'; $cfg['Servers'][$i]['connect_type'] = 'socket';
Apache2 の場所も違っていた(/etc/apache2)。また、httpd.conf を直接変更せずに、/etc/apache2/other/phpMyAdmin.conf ファイルを作って以下を記入した。このファイルは httpd.conf の最後に読み込まれる。
# phpMyAdmin Alias /phpMyAdmin/ "/var/www/phpMyAdmin/" <Directory "/var/www/phpMyAdmin"> Options All AllowOverride All Order Allow,Deny Allow from localhost </Directory>
また、httpd.conf を編集して php5 のモジュールを有効化してやる必要がある(行頭の # を消すだけ)。
LoadModule php5_module libexec/apache2/libphp5.so
Hello World! に成功
phpMyAdmin で demo_development という空のデータベースを作成してやってから、ブラウザーで http://127.0.0.1:3000/say/hello にアクセスすると、やっと Hello World! が表示された。