sinatraを使ってwebアプリ作成
かずー氏アイコンジェネレーター
http://kazooshi.moosan.org/
身内ネタ的なwebアプリをsinatraを使って開発したのでそのメモなど。
sinatraはrailsより圧倒的に簡単にwebアプリを作成できた。
何より圧倒的にrailsより楽だなと感じたのはデプロイ作業だった。
sinatraの基礎的な書き方とかはいろんな人が何かしら書いてると思うので、躓いたところとかだけをピックアップ。
- public/以下のファイルへのアクセス
viewからpublic/以下に置いたファイルへのアクセスどうするのかなーと思ったら
public/images/hoge.pngとかならば
<img src="images/hoge.png">
とかで普通にアクセスできた・・・。
- セッションの使い方
#app.rb #== sinatra session enable :sessions configure do use Rack::Session::Cookie, #:key => 'rack.session', #:domain => 'foo.com', #:path => '/', :expire_after => 3600, :secret => 'change' end
こんな感じで書いておくと
session[:hoge]が使用出来るので
session[:hoge] = "hoge"
という感じでやるとセッションに情報を入れられる。
rspecでテスト書いてていちいちコマンド打つのめんどくさい(というかコマンド忘れちゃう・・・)ので、Rakefileを書いてみたのだけれど、イマイチうまくうごかなくて結局どこかのブログにあったのを使わせてもらうと動いた
coding: utf-8 require "rspec/core/rake_task" desc "run spec" task :default => [:spec] RSpec::Core::RakeTask.new(:spec) do |spec| # - (Object) pattern # default: 'spec/**/*_spec.rb' # - (Object) rspec_opts=(opts) # default : nil spec.pattern = 'spec/*_spec.rb' spec.rspec_opts = %w(-c -fs) end