肉とビールとパンケーキ by @sotarok

少し大人になった「肉とご飯と甘いもの」

#02 アクションとビューの設計:Ethnaを使ったフツーの掲示板まとめ

認証の必要な管理画面はあとで作ることにします。

ユーザ側はこんなカンジ

  • action
    • index(default)
    • post(新規投稿)
    • post_conf(確認)
    • post_do(do!)
    • edit
    • delete
    • delete_conf
    • delete_do
  • view
    • index
    • post
    • post_conf
    • edit
    • delete_conf
    • redirect
    • undef


アクションで、editからconf→doの流れが無いのは、editの情報はpost_confのほうに受け流してしまうからです。

viewではdoはいりません。アクションのdoはリダイレクトしちゃいますので。

ちなみに、viewにおいてあるredirectですが、これはリダイレクト用に定義するもので、あらゆるリダイレクトは、リダイレクト先をアサインしたうえでこいつをforwardに設定してやる、という形。GREE風をイメージしたんだけど、実装ってこんなカンジかなあ?

undefは、存在しないアクションを指定した場合に自動的に実行されるヤツ。まあこのへんはいつもどおりのものを使うのであればわざわざ作らずに流用ですな。


そしたら、あとはひたすらEthnaコマンドを。

あ、そういえばプロジェクトすら作っていなかったのでここいらでついでに。笑

# ethna add-project bbs
creating directory (/var/www/bbs) [y/n]: y
...

# cd bbs/
# ethna add-action post
# ethna add-action post_conf
# ethna add-action post_do
# ethna add-action edit
# ethna add-action delete
# ethna add-action delete_conf
# ethna add-action delete_do
# ethna add-action undef

# ethna add-view -t post
# ethna add-view -t post_conf
# ethna add-view -t edit
# ethna add-view -t delete
# ethna add-view -t delete_conf
# ethna add-view -t redirect
# ethna add-view -t undef