Archive for August, 2007
Four Days on Rails by NetBeans – Day 1
話題のRuby on Railsがどういうものなのかを試してみたくて、手始めにFour Days on Rails(http://rails.homelinux.org/)をNetBeansのRuby Packを使って試してみました。
- -環境
- JDK 1.6.0_02 (Linux self-extractinf file (build 05)
- Linux版1.6.0_01を使うと一部、ポップアップするはずのウィンドウが開きませんのでこのバージョンは使用できません。
- NetBeans 6.0 M10 Fullバージョン
- (http://bits.netbeans.org/download/6.0/milestones/latest/)
- JDK 1.6.0_02 (Linux self-extractinf file (build 05)
- -Java DB(Apache Derby)を使うための準備
- なぜか上記のJDKにはJava DB関連のファイルが一切含まれていません。RPM版には含まれているので何かの手違いかと思われますが、、、db/lib/derbyclient.jarが必要なので、他のJDKのバージョンかApache Derby(http://db.apache.org/derby/)をダウンロードしてderbyclient.jarを入手してください。
- NetBeansをインストールしたディレクトリ以下にある netbeans-6.0m10/ruby1/jruby-1.0/libにderbyclient.jarへのリンクを作るか、Jarアーカイブをコピーします。
以上でRuby on Railsの環境はすべて整いました。Rubyの実行環境はNetBeansに付属しているJRubyを使いますし、DBもNetBeansに付属しているJava DB(a.k.a. Apache Derby)を使いますので、これ以上何もインストールする必要ありません。
Day1の ”To Do List”アプリケーションにトライしてみます。
- To Doプロジェクトを作る
- データベース接続の設定を行う
- ToDoプロジェクトのConfiguration以下にあるdatabse.ymlを開いて、development:の部分を次のように変更する。
-
development: adapter: jdbc driver: org.apache.derby.jdbc.ClientDriver url: jdbc:derby://localhost:1527/todos username: foo password: bar

- Configuration以下にあるenvironment.rbにアダプタの設定を追加する。Rails::Initializer.run do |config|の行の上を次の4行を追加する。
-
if RUBY_PLATFORM =~ /java/ require 'rubygems' RAILS_CONNECTION_ADAPTERS = %w(jdbc) end

- Java DBにtodosデータベースを作る
- todosデータベースを接続する
- Category Modelを作る
- categoriesテーブルをtodosデータベースに作る
- モデルを作ったときに自動生成された001_create_categories.rbを次のように編集する。
-
class CreateCategories < ActiveRecord::Migration def self.up create_table :categories do |t| t.column :category, :string, :limit => 20, :default => '', :null => false t.column :created_on, :timestamp, :null => false t.column :updated_on, :timestamp, :null => false end add_index :categories, :category, :unique => true, :name => 'category_key' end def self.down drop_table :categories end end - Projectsウィンドウへ移動 -> ToDoプロジェクトで右クリック -> Migrate Databaseを選択 -> To Current Versionを選択(成功するとテーブルができあがる。うまく作れない場合はNetBeansを再起動するか、 NetBeans Ruby 6.0 Preview Documentation – Tutorials – Creating a Ruby Weblog in 10 Minutes のヒントを参考にしてください)

- Script Contollerを作る
- アプリケーションを実行する
以上で、”To Do List”アプリケーションの作成が終了し、動作も確認できました。ここで、Modelに修正を加えてみます。
- Data Validationルールを追加する。
- Projectsウィンドウを開き、ToDoプロジェクト、Models以下にあるcategory.rbを開いて次のように修正する。
-
class Category < ActiveRecord::Base validates_length_of :category, :within => 1..20 validates_uniqueness_of :category, :message => "already exists" end
- Category欄を1文字以上20文字以下に制限したので、Cateogry欄に”Learning Ruby on Rails”(20文字以上)を入力すると、次のようにエラーが表示されます。

- また、Categoryの重複登録をしないように設定したので、Cateogry欄に”Business”を入力すると、次のようにエラーが表示されます。

以上でDay1は終了です。
You are currently browsing the Servlet Garden blog archives for August, 2007.











