最近お邪魔しているFLOSS桜山で、主催者である河合先生が、「注目しているRubyのフレームワークはSinatra」とか言ってて、まあ、そうなのかで終わるところだったんだけど、その理由を聞いて俄然興味を持った。
それが
「僕、簡単なのが好きなんだよねぇ」
はいはい、僕も大好物ですよ、簡単なの。
ということで
な人に最適なフレームワークSinatraのサイトがこちら。

Sinatra
もう雰囲気がフレームワークって感じじゃないのが気に入った!
でらクール!!
で、トップページみたら、飛び込んできたサンプルコードががこれ。
良いねえ、お手軽な雰囲気がプンプンするではないか。
で、早速動かそうとしたらはまりました。
ローカルで動かすなら、公式サイトのドキュメントに載ってるんだけど、CGIとして動かす方法が載っていない。
あ~でら不親切!
Rubyのフレームワークってみんなこんな感じなんだよね、ドキュメント。
Rubyistはみんなお金持ちってこと?
Coreserverみたいな激安レンタルサーバは使わないのかしら。
そこでなんとか見つけ出したのがこちらのサイト。
Sinatra を CGI スクリプトとして実行する - ursmの日記
助かりました、ホント。
ほとんど情報無いわ、フレームワークもシンプルなら、公式サイトのドキュメントもシンプルだわ、Rackもいまいちわからんわって状態だったので。
けど、これだけじゃイメージ通りに動きません。
参考サイトの通りに設定すると
で
こんな感じでアクセスできた。
でも、そうじゃなくて
といきたいわけです。
ということで、約1日かけてたどり着いたのがこちら。
もっとちゃんと書き方あるかと思いますが、まあ、これをみて察してください。
で、実際のアプリのコードはこんな感じ。
こんな感じで
でHello Worldが出ます。
泣ける。
これでやっと、Sinatraワールドが楽しめます。
長くなったので、今回はここまで。
余力があれば、DB周りやView周りのことも書きたいです。
※htaccessのSetEnvの箇所は大橋さんの記事を参考にさせていただきました(それまではstart.rbに直書きでした)。
htaccessに記述した方が何かとスマートかなと思います。
ありがとうございました。
Sinatra、結構いいかも | コンピューターと人の触媒になるのを目指して
それが
「僕、簡単なのが好きなんだよねぇ」
はいはい、僕も大好物ですよ、簡単なの。
ということで
「たくさんのこと覚えるの苦手」 「ちゃっちゃと作りたい」 「出来れば軽いのが最高」
な人に最適なフレームワークSinatraのサイトがこちら。
Sinatra
もう雰囲気がフレームワークって感じじゃないのが気に入った!
でらクール!!
で、トップページみたら、飛び込んできたサンプルコードががこれ。
# myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end
良いねえ、お手軽な雰囲気がプンプンするではないか。
で、早速動かそうとしたらはまりました。
ローカルで動かすなら、公式サイトのドキュメントに載ってるんだけど、CGIとして動かす方法が載っていない。
あ~でら不親切!
Rubyのフレームワークってみんなこんな感じなんだよね、ドキュメント。
Rubyistはみんなお金持ちってこと?
Coreserverみたいな激安レンタルサーバは使わないのかしら。
そこでなんとか見つけ出したのがこちらのサイト。
Sinatra を CGI スクリプトとして実行する - ursmの日記
助かりました、ホント。
ほとんど情報無いわ、フレームワークもシンプルなら、公式サイトのドキュメントもシンプルだわ、Rackもいまいちわからんわって状態だったので。
けど、これだけじゃイメージ通りに動きません。
参考サイトの通りに設定すると
get '/hello' do 'Hello world!' end
で
http://hogehoge.com/hoge.rb/hello
こんな感じでアクセスできた。
でも、そうじゃなくて
http://hogehoge.com/hello
といきたいわけです。
ということで、約1日かけてたどり着いたのがこちら。
#.htaccess DirectoryIndex index.html index.php start.rb AddHandler cgi-script .rb Options +ExecCGI SetEnv RUBYLIB /virtual/account/lib/site_ruby/1.8:/virtual/account/lib SetEnv GEM_HOME /virtual/account/lib/ruby/gem RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) start.rb/$1 [L]
もっとちゃんと書き方あるかと思いますが、まあ、これをみて察してください。
で、実際のアプリのコードはこんな感じ。
#/start.rb require 'rubygems' require 'sinatra' set :run, false #HTTPサーバ立ち上げないならfalse set :environment, :production get '' do #'/'だと駄目くさい 'Hello world!' end Rack::Handler::CGI.run Sinatra::Application
こんな感じで
http://hogehoge.com/
でHello Worldが出ます。
泣ける。
これでやっと、Sinatraワールドが楽しめます。
長くなったので、今回はここまで。
余力があれば、DB周りやView周りのことも書きたいです。
※htaccessのSetEnvの箇所は大橋さんの記事を参考にさせていただきました(それまではstart.rbに直書きでした)。
htaccessに記述した方が何かとスマートかなと思います。
ありがとうございました。
Sinatra、結構いいかも | コンピューターと人の触媒になるのを目指して