ユーザーが複数の異なるページに情報を入力するマルチステップ フォームがあります。従来のレールでは、各リソースを独自のコントローラーで個別に保持し、REST アクションを使用してデータを操作します。
従来のシステムでは、1 つのマルチステップ フォームに対して 3 ~ 5 個の異なるコントローラー (一部のステップはオプション) を使用していました。従来のやり方ではコントローラーに「秩序」という感覚がありません。プロジェクトに参加する新しい開発者は、どのステップがどのステップにマップされるかなどを学ばなければなりません。
一方で、慣習を打ち破り、複数ステップのフォーム全体を 1 つのコントローラーで管理することも考えました。このコントローラーは、次のようなメソッドでいっぱいになります。
def personal_info
# code...
end
def person_info_update
# code...
end
def residence_info
# code...
end
def residence_info_update
# code...
end
# many more coupled methods like the above...
この 1 つのコントローラーはかなり長くなりますが、基本的には一連の結合されたメソッドです。1 つはステップ (フォーム) を表示するためのもので、もう 1 つは更新して次のステップにリダイレクトするためのものです。
これは Rails の慣習に違反するため、独自のルーティングを設定する必要があります。
しかし、他の人がこの問題をどのように解決したのか興味がありますか? 私は両方のCANが機能することを知っていますが、長期的にはどちらが保守とコーディングが容易かを知りたいです.