Lotusとは
Ruby製のWEBアプリケーション用MVCフレームワークです。
最小限のDSLで構成されており、Rubyを書けるのであればそれほど学習コストが高くありません。
また、デフォルトでドメイン層をEntityとRepositoryで実装できるのが特徴です。
詳しくは公式のドキュメントを読むとよいでしょう。
http://lotusrb.org/guides/
プロジェクトの作成
さて、早速アプリケーションを作っていきます。
今回はスレッドフロート型掲示板を作ろうと思います。(2chみたいなやつ)
まずはgemをインストールしてアプリケーションを初期化します。
gem install lotusrb
lotus new lotus_bbs --database=postgres --test=rspec
cd lotus_bbs
bundle install --path .bundle
ディレクトリ構造はこんな感じ
tree -L 1
.
├── apps
├── config
├── config.ru
├── db
├── Gemfile
├── Gemfile.lock
├── lib
├── Rakefile
└── spec
準備が整ったので、サーバを起動して動作確認をします。
bundle exec lotus server
とコマンドを打ち下記urlにアクセスできればOKです。
http://localhost:2300
TOPページ作成
次に画面に表示されているコマンドを打ってみます。
bundle exec lotus generate action web home#index --url=/
いくつかのファイルが生成され、もう一度先ほどのurlにアクセスすると真っ白なページが表示されます。
これだと味気ないのでapps/web/templates/home/index.html.erb
を下記のように編集します。
<h1>掲示板TOP</h1>
これでTOPページができました。
生成されたファイルについては後ほど説明していきます。