MultiActionController를 사용하면 여러 요청을 하나의 컨트롤러에서 다룰 수 있습니다. 하지만 폼 처리를 하는 Work Flow가 정의되어 있지 않기 때문에 SimpleFormController와 같이 명석하게 폼 처리를 하는 일을 못합니다.

0. Form 뷰와 Success 뷰, 이렇게 두 개의 뷰를 왔다 갔다하는 로직이 없다.
1. 위의 문제로 인해 binding과 validation을 지원하고는 있지만 Errors 객체에 들어있는 정보를 폼에 다시 보여줄 길이 없다.
2. 위의 문제로 인해 MultiActionController로 묶을 수 있는 요청의 형태가 제한적이다.

따라서 폼 처리를 할 수 있는 MultiActionController를 개발하면 요청의 형태에 제약을 받지 않고 특정 규약(예를 들어 한 화면 또는 하나의 구역에 있는 링크들을 하나의 컨트롤러를 구성한다거나 하나의 도메인과 관련된 요청들을 하나의 컨트롤러로 구성하는 등의 규약)에 따라 컨틀롤러를 구성할 수 있는 것이 가능할 것입니다. 물론 어떻게 구성하느냐에 따라 줄어드는 컨트롤러의 양의 차이가 있겠지만 지금 보다 더 줄일 수 있는 것은 사실이겠죠. 머릿속으로 이 방법 저 방법이 막 떠오르다가 '아니야.. 그렇게 하면 안되겠는데, 이렇게 하면 될까?' 이렇게 생각만 하다가 이제야 겨우 소스코드를 열었습니다. 진작에 소스코드를 열어 봤다면 공상을 줄일 수 있었을텐데 하는 아쉬움이 남지만.. anyway, 소스코드를 열고 보니..

0. 일단 MultiActionController와 SimpleFormController의 동작을 파악하기
1. 둘을 어떻게 합칠 것이지 고민하기
2. 합치기

이렇게 할 일이 단순해졌습니다. 이미 1번은 머릿속으로 계속 하고는 있었지만 소스 코드를 보면서 이론으로 알고 있던 동작을 실제 나사와 톱니가 맞물려 돌아가는 것을 보는 듯한 느낌으로 살펴보니 저 둘을 어떻게 합칠 것인지 대강 확신이 서기 시작했습니다.

이제 실제 구현을 해봐야겠습니다.