sinatraインストール、動かしてみる
これをやってみたい http://gihyo.jp/dev/serial/01/ruby/0009
sudo gem install rack sinatra sequel haml
やっぱこっちの簡単なのから動かす
http://gihyo.jp/dev/serial/01/ruby/0007
フルコピペでいく
sinatra-test.rb
require 'rubygems' require 'sinatra' helpers do include Rack::Utils; alias_method :h, :escape_html end template :layout do "<html><body><h1>Hello World</h1><%= yield %></body></html>" end get '/' do erb %{ <p>あなたの名前は?</p> <form action='/hello' method='POST'> <input type='text' name='name'> <input type='submit' value='送信'> </form> } end post '/hello' do erb %{ <p>こんにちは,<%= h params[:name] %>さん!</p> <a href='/'>戻る</a> } end
ruby sinatra-test.rb
http://localhost:4567 でMongrelで起動した。
ruby sinatra-test.rb -s webrick でWebrickで起動できるはずだけどエラーがでて起動しない。
どうやらsinatra自体のバグで、webrickを検索できていないらしい
http://d.hatena.ne.jp/unageanu/20090525/1243268383
なので手動で登録する
sinatra-test.rb
require 'rubygems' require 'sinatra' Rack::Handler.register 'Webrick', 'Rack::Handler::WEBrick' # webrick登録 helpers do include Rack::Utils; alias_method :h, :escape_html end template :layout do "<html><body><h1>Hello World</h1><%= yield %></body></html>" end get '/' do erb %{ <p>あなたの名前は?</p> <form action='/hello' method='POST'> <input type='text' name='name'> <input type='submit' value='送信'> </form> } end post '/hello' do erb %{ <p>こんにちは,<%= h params[:name] %>さん!</p> <a href='/'>戻る</a> } end
これでサーバーを切り替えられるようになった
ruby sinatra-test.rb -s webrick ruby sinatra-test.rb -s mongrel