簡単なWebサイトなら生PHPとかでいいんだけど、「Webアプリ」とか言われたらはてさてなにで作ろうかと。
PHPフレームワークとか使う気にならんし、expressやsinatraじゃ物足りないし、かといってtowerやrailsじゃやりすぎな気がするし。
そんなこんなで、たまたまWeb+DB pressに載ってたPadrinoを使ってみることにした。
Padrinoを使う利点としては
- ふるすたっく(といっていいのかわからんが
- 各種ジェネレータがある
- Railsっぽいディレクトリ構成
- 管理画面を作るのがラクチン
- プロジェクトテンプレートが書ける
とかね。
インストール
$ gem install padrino
プロジェクトの作成
$ padrino g project todos
railsみたいな感じ。
mongodb使おうと思ったけど最近のmongoidだとうまくいかないとか、hamlとかキショイって感じで以下のように生成した。もちろんmongodbはローカルで動いてるという前提でお願いしたい。
$ padrino g project todos -d mongomapper -e erb todos
$ cd todos
$ bundle install
モデルの作成
とりあえず、titleとcompletedだけを含むモデルを作成。
$ padrino g model todo title:string completed:boolean
padrinoにもconsoleコマンドがあるので、動作は簡単に確認できる。
$ padrino c
> Todo.new(:title => 'hello').save
> Todo.all
管理画面を作る
$ padrino g admin
$ bundle install
管理用のアカウントはrake seedで作成。
$ padrino rake seed
サーバを動かして動作を確認。
$ padrino s
$ open http://localhost:3000/admin
さっき作ったモデルの管理ページを作成。
$ padrino g admin_page todo
簡単。
長くなってきたのでとりあえずここまで。まだコード書いてないけど。