モデルがあり、このモデルの列は状態を表します。これは数値であり、1、2、3 の可能性があります。
私は2つの懸念があります:
a) ビジネス ロジックに基づいて、状態は 1 から 2 および 2 から 3 にしか移行できません。高い数値から低い数値に戻ることはできず、1 ステップで 1 から 3 に戻ることもできません。
b) これらの数値をコントローラーに公開したくありません (魔法の数値が飛び交うのは好きではありません)。
私は次のことをしました
stateX?、stateY?、stateZ? などのメソッドを作成しました。コントローラーが現在の状態を確認できるようにします。これは、懸念事項b)に役立ちます。
コントローラーが容認できない状態の切り替えを行う場合、メソッド setStateX、setStateY、stateZ、および raise を作成しました。これは、a) と b) の懸念に役立ちます。
ただし、それは Java/C++ の方法 (これが私のバックグラウンド) であると感じています。つまり、1 つのことを行うための 6 つのメソッドです。
RoRでこれを達成するためのより良い方法はありますか?