Rootがあります。その下にusersがあります。その下にユーザID(atsとかfooとかbarとか)がぶら下がります。で,さらにupdateとかadd_entryとかハンドラ(メソッド)がぶら下がります。これがやりたいことです。
/users/(ats)/ /users/(ats)/[update] /users/(ats)/[add_entry]
usersはController由来のクラスです。(〜)の部分はDB依存で変化します。[〜]の部分は多分,controller由来のクラスにくっついたクラスメソッドです。
ユーザを追加すると真ん中が変わるので困ります。何とかしたいです。
解決法1 : usersクラスのdefault()でがんばる
引数をガッチンコしてuseridを取り出しつつmethodを呼んだり。でも,defaultがでかくなってメンテしにくそうだし,かといって華麗にやろうとおもうとセキュリティが心配。ていうかリクエストをbrokeする,みたいな低レベルの処理を書くのはなんかイケてない。
解決法2 : usersの下に,ユーザデータをハンドリングするクラスインスタンスを動的にくっつける
で,そのアトリビュートというかキーがatsとかfooとかいったユーザIDになっていると。usersのdefauultで引数をキーにしてDBに問い合わせ,動的にアトリビュートをくっつけたりするんだろうか。
Zopeみたいだ。ある意味スマートかも。でも可読性は悪い。かっちょいいけどアレゲ。
どうするのがスマートなんだろうなあ。