あれこれ
Contlloerは、Actionを決めることが役目としておいて、の話。
Actionの役割は、Viewを決めること、としておいて、の話。
Actionってなんだろう?と考える前に、ついつい値が入力されて...という場合ばかり考えていたけれど、値に左右されないActionもある、と。でも、基本は値を受けとりますよ、と。じゃあ、Actionって、2種類あるんだ、という考えで作ることにしてみます。
値を受け取るAction
- 認証が必要かどうか確かめる
- Actionの下準備をする
- 受け取る値の定義をする
- Viewについても?
- Actionを実行(実装)
- 処理をする
- 大体の場合、値についてValidateする
- View(の名前)を返す
値を受け取らないAction
- 認証が必要かどうか確かめる
- Actionを実行(実装)
- 処理をする
- View(の名前)を返す
と考えてみました。
こうして考えたときに、「値についてValidateする」というのが気になります。
Actionがフォームの値をValidateする、ということなので、フォームの値はオブジェクトにする必要があると考えられます。
また、
- Actionが受け取るフォームの値の定義
- フォーム自体
には密接に関係がある、ということになります。改めて、何をいまさら、という話はあるんですが。
でも、まてよ、と。
Actionとフォームの値は密接な関係じゃなくて、一心同体じゃないか?と考えたらどうなるんでしょうか?
値がなければ、値を受け取るActionは存在し得ないことになります。それは、正しそうです(たぶんですけれど)。
つまり、「値を受け取るAction」は「フォームの値オブジェクト」だ、ともいえそうです。
ちょっと見えてきたような気がします。