Ruby Freaks Lounge

第13回 モジュラーなWebアプリケーションフレームワーク,Merb

この記事を読むのに必要な時間:およそ 2 分

続いて,indexアクションが生成するViewを編集してみましょう。app/views/top/index.html.erbファイルが対応するViewになります。

リスト3 app/views/top/index.html.erb

<h1>Hello, world!</h1>

さて,それではもう一度Webサーバを起動してhttp://localhost:4000にアクセスしてみましょう。以下のような画面が表示されます図2)⁠

図2 Hello, world!

図2 Hello, world!

せっかくなので,Merbの特長であるモジュラー性を体験するために,テンプレートエンジンとしてERBの代わりにHAMLを使ってみましょう。

config/init.rbを開いて,以下のようにuse_template_engineの部分を書き換えます。

リスト4 config/init.rb

# Go to http://wiki.merbivore.com/pages/init-rb

require 'config/dependencies.rb'

use_orm :datamapper
use_test :rspec
#use_template_engine :erb
use_template_engine :haml

続いて,HAML用のViewファイル app/views/top/index.html.haml を用意します。

リスト5 app/views/top/index.html.haml

%h1 Hello, HAML world!

再びWebサーバを起動してhttp://localhost:4000を確認してみましょう。今度は以下のような結果が得られます図3)⁠

図3 HAMLを使った場合

図3 HAMLを使った場合

まとめ

Railsを使った事がある方は気がついたと思いますが,Merbを使ったWebアプリケーション開発は,ディレクトリ構成や開発の流れなど,全体的にRailsの作法を踏襲したものになっています。そのため,Railsの知識を持っていれば比較的簡単にMerbを使う事ができるようになると思います。

近頃では,SinatraやRamazeなどのPost Rails世代のフレームワーク群が数多くリリースされていますが,Railsからの乗り換えやすさという点では,Merbを選ぶのはとても良い選択だと思います。

次回は,Merb使いの間でORMの主流を占めているDataMapperを使って,実用的なアプリケーションを開発する例を紹介いたします。

著者プロフィール

瀧内元気(たきうちげんき)

あたらし物好きのプログラマ。
2005年よりRuby on RailsやMerbの啓蒙活動に手を染める。

URLhttp://blog.s21g.com/genki