[ruby] Merb を使ってみた part.3 - ルーティング -

ルーティングを定める。

spec/router/articles_spec.rb を作成して

require File.join( File.dirname(__FILE__), "..", "spec_helper" )

describe Article do
  describe "routing" do
    it { request_to('/articles', :get).should route_to(Articles, :index) }
  end
end

ブラウザでアクセスしてみる。

merb

で起動して http://localhost:4000/articles/ にアクセス。表示された。

PageController も作成する。

merb-gen resource_controller page

spec/router/pages_spec.rb を作成して

require File.join( File.dirname(__FILE__), "..", "spec_helper" )

describe Article do
  describe "routing" do
    it { request_to('/', :get).should route_to(Pages, :home) }
  end
end

ctrl + C で autotest をリロード、うん、赤になる。

router.rb で

  r.match('/').to :controller => 'pages', :action => 'home'

グリーンになりました。おk。

大体使い方は掴めたと思います。
困ったときは merb-core 等のパッケージについてくる大量のテストコードが参考になります。

merb は更新が早いのでググって見つかるコードやサンプルアプリケーションが既に古びていることが多々あります。
気がつけば merb の付属テストとドキュメントに戻っていました。