結論からいうと、config/database.yml config/environment.rb の設定でハマりましたが、原因がわかればすんなりと行きました。
参考にしたURLはこちら。
「(Java+Derby)* Ruby on Rails プログラミング」
http://www.atmarkit.co.jp/fjava/column/koyama/koyama04.html
と、こちら。
「Ruby On Rails On Tomcat」(英語)
http://buggyvelarde.org/?p=20
前者はDerbyを前提にしているので後者の「Ruby On Rails On Tomcat」の内容にそってトライしてみました。ActiveRecord-JDBCのインストール
ActiveRecord-JDBCモジュールをインストールすることによってRailsからJDBCドライバ経由でMySQLにアクセスできます。
% $JRUBY_HOME/bin/gem install ActiveRecord-JDBC
config/environment.rb
http://jruby-extras.rubyforge.org/ActiveRecord-JDBC/
参考にしたページに書かれてある方法ではなく、こちらのドキュメントが正式なやり方だと思います。
Rails::Initializer. の前に次の記述を行います。
require 'rubygems'
gem 'ActiveRecord-JDBC'
require 'jdbc_adapter'
config/database.yml
一番ハマったのがここ。 url: をuri:にしていてずっと接続できずに例外が発生したので注意してください。また url:の後にキチンとスペースをあけてURLを記述してください。よくわからないエラーが表示されます。これも悩みました。
development:
adapter: jdbc
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/test_development
username: root
password:
migration
migrationをつかってテーブルを作成します。
ruby script/generate migration create_wiki_tables
db//migrate/001_create_wikis_tables.rb にスキーマを定義します。
class CreateWikiTables < ActiveRecord::Migration
def self.up
create_table :wikis do |t|
t.column :name, :string, :limit => 50, :null => false
t.column :wpage, :string, :limit => 70, :null => false
end
# make the :name field of the database a key.
add_index(:wikis,:name)
end
def self.down
end
end
rake もちゃんと動作してテーブルも作成されます。
% rake db:migrate
scaffold
DBもできたのでscaffoldを実行してみます。
jruby script/generate scaffold wiki
scaffoldの作成も問題なくできました。
Webrickの起動
% jruby script/server
Webrickを起動して http://localhost:3000/list にアクセスしたら無事表示されました。すばらしい。
が、日本語の扱いがまずいらしく文字化けするかエラーになって保存されません。
ここまでくれば文字化けはなんとかなるでしょう。次はtomcatでRailsを動かしてたいと思います。