InfoQ

News

Rails 2.0 - 初心者がすべきことは?

作者 Rick DeNatale , 翻訳者 岡田 英久 投稿日 2008年1月8日 午前6時24分

コミュニティ
Ruby
トピック
Ruby on Rails,
プログラミング
タグ
Railsプラグイン,
Ruby on Rails,
ドキュメンテーション
Rails 2.0.0、2.0.1、そして 2.0.2 という最近の矢継ぎ早なリリースに伴い、Rails サポートディスカッショングループには新しい Rails ユーザからの多くの問い合わせ(source)が届いている。彼らは Dave Tomas 氏と David Heinemeier Hansson 氏が執筆した書籍『 Agile Web Development with Rails 』(訳書のタイトルは『 Rails によるアジャイル Web アプリケーション開発』)のような有名なチュートリアルに従うことに疑問を感じている。書名の頭文字をとって一般に AWDR と呼ばれている Tomas 氏と Hansson 氏のその書籍は、すでに第二版が出版されているが、それも一年前のことで、 Rails 1.2 しかカバーしていない。

Rails 2.0 と前バージョンである Rails 1.2 との違いは、Rails 1.2 と Rails 1.1 との間の違いに比べれば微々たるものだが、そこには疑うことを知らない新規ユーザをつまずかせるのに十分な大きさの落とし穴がある。

Rails 2.0 のテーマのひとつはフレームワークのスリム化である。それにより、これまでは標準だったいくつかの機能がコア部分から削除され、プラグインとして提供されるようになった。1.2 をベースにしたチュートリアルに従っている人はそこでつまずく可能性がある。次に二つの例を挙げる。
  1. 多くのチュートリアルではデータベースに MySQL を使っている。それは MySQL が Rails のデフォルトだったからだが、Rails 2.0.3 ではデフォルトが SQLite3 に変更(source)された。AWDR は後ろのほうで SQLite3 の使い方について説明しているが、チュートリアルを辿っている新規ユーザにとっては、問題にぶつかった時点でそれを自力で解決するための備えにはならないかもしれない。
  2. AWDR の最初のほうで Rails のダイナミックな scaffold 機能を使用するが、現在のバージョンでは scaffold は次のようにプラグインをインストールした後でないと使用することができない。
              script/plugin install scaffolding 
    このように Rails 2.0 で削除された機能には他に、AJAX を使ったインプレイスエディタやオートコンプリート、そして有名な act as モデル拡張のいくつかが含まれる。
              script/plugin list 
    削除された機能を提供していると思われるものを利用可能なプラグインの中から探したければ、上記のコマンドを実行するとよい。
別の選択肢は Rails 1.2.6 を使ってチュートリアルを一通り終え、その後で 2.0 への移行を検討することだ。まずは次のコマンドを実行して Rails 1.2.6 をインストールしよう。
    gem install rails --version 1.2.6 
次に、すでにインストール済の Rails 2.0.x 用 gems パッケージを削除するか、もしくはプロジェクトを作成する際の Rails コマンドで次のようにバージョン番号を指定すればよい。
    rails _1.2.6_ my_rails_project 
gems を使ってインストールしたほとんどのコマンドは gem 内のコードを実行するラッパーである。それらのコマンドでは、左右にアンダースコアを付加したバージョン番号を最初の引数として与えて実行することにより、gem のバージョンを指定することができる。

Obie Fernandez 氏(source)が書いた『 The Rails Way (source)』のように、現時点で入手可能な Rails 2.0 対応書籍もすでにいくつか存在する。しかし、今までのところ、それらは全て多少 Rails に触れた経験をもっているユーザのための情報源を目指しているように思える。古い Rails 文献のいくつかは、時が経てば必ず更新されて、新しいチュートリアルが盛り込まれることになるだろう。

さしあたり Rails の新規ユーザに与えられている選択肢は二つだ。前バージョンからの変更点にぶつかったらひたすら苦労して切り抜けるか、あるいは恐らくより賢明な方法として、ある程度のレベルに達するまではチュートリアルに合わせたバージョンの Rails を利用するかである。

原文はこちらです:http://www.infoq.com/news/2007/12/rails-20-docs
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
slashdot+
Hatena

特集コンテンツ一覧

Flex 4の新機能トップ10

今週(2009年6月1日)AdobeはFlex 4の正式な初ベータ版をリリースしました。Flex 4はGumbo(オクラ)というコードネームで開発されています。今回のリリースには大きな変更が多数含まれています。このRIAフレームワークの最新バージョンにおいて変更された事柄についての概要を以下のリストで見ていきましょう。

Domain Driven Design(ドメイン駆動設計) Quickly 日本語版

ビジネス領域の深い理解を反映したドメインモデルを設計するための、ヴィジョンとアプローチです。この本は、Eric Evans氏の「Domain Driven Design」の主要点を短く読みやすく要約しました。

JavaプログラマがFlexとBlazeDSを学んだ方がいい13の理由

この記事ではJavaプログラマがなぜFlexとBlazeDSを学ぶべきなのかについて13の理由を述べています。なぜ高度にインタラクティブなWeb サイトからJavaで開発されたバックエンドをもつエンタープライズ・アプリケーションまでを含む、リッチ・インターネット・アプリケーション(RIA)の開発にFlexとBlazeDSの組み合わせが最適な選択肢となるのかについて述べています。

仮想パネル: バックログは重要な成果物とプラクティスか、それとも無駄か?

Mary Poppendieck氏、Ron Jeffries氏、Jeff Patton氏、David West氏、Steve Freeman氏、Jason Yip氏が、バックログに関する彼らの意見とアジャイルチームを成功させるために必要な事を語った。

Perf4Jを使ったパフォーマンス解析とモニタリング

この記事ではAlex Devine氏が、Java開発者がPerf4Jをどのように利用できるかと、タイミングステートメントにコードを追加し、ロギング、結果の解析とモニタリングを行うオープンソースツールセットの説明をします。

複雑な外部DSLを開発する

本稿では、Vaughn Vernon氏が内部DSLと外部DSLの違いを説明し、複雑な外部DSLを開発する際のステップを示します。

J2EEアプリケーションにおけるAOPを使ったフェッチ戦略の実装

この記事では低レベルのサービス・レイヤやリポジトリ・レイヤを肥大化させることなく、フェッチング・ストラテジによってモジュール化された方法でバックエンドにあるシステムからデータを取得する処理を最適化する方法について説明します。

実証済みのアイデアの融合: S#arp Architectureの裏側

この記事では、Web開発における多数の成熟傾向と、クライアントに価値を提供することに対するそれらのメリット、およびS#arp Architecture(最善の手法と技術を活用しようとするASP.NET MVCをベースとしたフレームワーク)内でのそれらの使用について取り上げます。