CodeZine(コードジン)

特集ページ一覧

Judeのクラス図からActiveScaffoldのコードを自動生成する

Jude/LuRuJu/JRuby/ERBを用いたActiveScaffoldのソース自動生成プログラム

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/12/25 00:00
目次

動作確認するための環境設定

ActiveScaffoldのインストールと設定

 上記までの設定で、既に筆者の作成したジェネレータを動かして、Judeファイルからソースを自動生成することが可能になっています。しかし、自動生成したファイルが正しく動作するかも確認したいことでしょう。

 せっかくなので、Ruby on Railsの上で動作するActiveRecordプラグインのインストールと、プロジェクトの作成からデータベースの設定まで解説しておきます。

 Ruby on Railsは、通常のRuby上で動作するのでRubyをインストールしていない人はRubyのインストールから始める必要があるし、データベースもインストールしないといけません。面倒なのでここでは、データベース、Ruby on Rails、Rubyを同時にインストールしてくれる、とてもありがたい「Instant Rails」を使います。インストールの方法は下記の通りです。

InstantRailsのインストール

 最初にInstantRailsダウンロードします。筆者の環境では、「InstantRails-1.7-win.zip」を選択してみました。このファイルを任意のディレクトリにダウンロードして展開してください(ディレクトリ名にスペースを含んだ場所に配置すると正しく動作しないことがあります)。

 その後、「InstantRails.exe」をダブルクリックすると、Instant Railsが起動します。最初に起動するときに下記のようなポップアップが出るので[OK]ボタンを押してみてください。

最初の1のポップアップ
最初の1のポップアップ

 その後、下記のような画面がでてきます。

InstantRails最初の起動画面
InstantRails最初の起動画面

 MySQLの信号が黄色くなっていますが、これは一度MySQLのボタンを押してkillを選ぶと、MySQLが再起動され、正常動作します。

 さらに、Apache(Webサーバ)は不要なので、ボタンを押してkillしておきましょう。すると下記のような画面になると思います。

InstantRailsMySQL起動後
InstantRailsMySQL起動後

 次に、[スタート]-[マイコンピュータ]を右クリックして[プロパティ]を選択し、[システムのプロパティ]を表示します。「詳細」タブの[環境変数]ボタンを押して、システム環境変数の「Path」を選択し、変数値の一番最後に「;」つきで、「InstantRails\ruby\bin」および「InstantRails\mysql\bin」を追加してください。

 筆者の環境では、pathの最後に「;InstantRails\ruby\bin;InstantRails\mysql\bin」を追加しました。それぞれ皆さんがInstantRailsを入れたディレクトリに読み変えて設定してください。

環境変数の設定
環境変数の設定

 コマンドプロンプトを起動して、rubyとmysqlのクライアントが動作すれば設定完了です。

> ruby -v
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]

> mysql --version
mysql  Ver 14.12 Distrib 5.0.27, for Win32 (ia32)

 最後に、データベースの生成を行います。

> mysql -u root
mysql> create database generate_development
 default character set utf8;

 これで、generate_developmentという名前のデータベースが作成されました。なお、ユーザー名は勉強用ということでデフォルトの設定を使っています(ユーザー名:root、パスワードなし)。

 これで基本的なセットアップは完了です。

Ruby on Railsの設定

 では次に、Ruby on Railsの設定とデータベースの作成を行います。まず最初にRuby on Railsのプロジェクトを作成しましょう。任意のディレクトリで、下記のようにタイプしてみてください。

>rails generate

 下記のような文字がたくさん出てくるはずです。これはRailsのプロジェクトのファイルの数々です。これでRailsのプロジェクト「generate」が作成できました。

      create  public/dispatch.cgi
      create  public/dispatch.fcgi
      create  public/404.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log

>

 次にデータベースの設定を行います。ここからは上記のコマンドで作成された「generate」をディレクトリを「%RailsRoot%」と表現して説明していきます。

 「%RailsRoot%\config\database.yml」というファイルを設定します。「encoding:…」の行が追加されているのに注意してください。もちろん、ここで設定を変えれば違うデータベースや、他のユーザー名も指定することができます。

%RailsRoot%/config/database.yml
development:
  adapter: mysql
  database: generate_development
  username: root
  password:
  host: localhost
  encoding: utf8

 これで、Railsアプリケーションを作る土台ができました。

Active Scaffoldプラグインの導入

 次にActiveScaffoldプラグインの導入を行いましょう。Railsのプロジェクトができているとこれはとても簡単です。「%RailsRoot%」のディレクトリに移動し、下記のコマンドをタイプするだけです。

>ruby script/plugin install
 http://activescaffold.googlecode.com/svn/tags/active_scaffold

 とても簡単です。後は、日本語特有の設定が必要です。「%RailsRoot%\config\environment.rb」の最終行に下記の行を追加していきます。

environment.rb
require "active_scaffold_localization"
# require "#{RAILS_ROOT}/lib/active_scaffold_localization.rb

 この「active_scaffold_localization.rb」の中身については、urekatさんのブログを参考に作成するとよいでしょう。

 ここまでで日本語化は完了です。これにより、ActiveScaffoldでアプリケーションを作成する準備が整いました。ActiveScaffoldの詳しい説明は、他のサイトや雑誌に譲るとして、早速作成したジェネレータの説明をしていきましょう。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5