Hatena::Diary

みじんこ日記

2008-12-17

サイトルート以外でramazeを動かす時の設定

通常、開発時に

rackup start.rb

として開発サーバアクセスする際には気にならないが、/cgi-bin/myapp/以下に置いてCGIとして動かしたい場合、正しくパスの設定をしておかないと、Ramaze::Helper::Linkの各メソッド(#A とか #R とか)が正しいパスを吐けない。

# /cgi-bin/myapp/sample となるべき
R(SampleController, :index)  # => /sample

どうやら、このような場合は Ramaze::Global.prefix を設定すればよいようだ。

# dispatch.cgi あたりで
Ramaze::Global.prefix = '/cgi-bin/myapp/'  # デフォルトは '/'

その他、いろんな設定のデフォルト値が ramaze/option.rb に書かれているのでそこを見ればだいたい掴めると思う。

トラックバック - http://d.hatena.ne.jp/mizincogrammer/20081217/1229507041