2

私のモデルの clean() メソッドに入れる適切なものは何だろうと思っています。

モデルのプロパティのすべての検証と操作を行って、モデルが有効であることを確認することは理にかなっていますか (つまり、ビジネス ロジック)。私の場合はそれがたくさんあり、モデルが保存されるたびにすべて実行するのが理にかなっているのだろうかと思っています。

たとえば、私は次のようなことをしています: - ビデオが非公開としてマークされている場合は、プレイリスト内のすべての参照を削除します - ビデオのタイトルがユーザーの他のビデオとの関係で一意であることを確認します - など.

私が行っていることのいくつかは、新しいビデオの作成時にのみ行う必要があるため、モデルを保存するたびにそれらを確認/設定することも過剰に思えます。

これは clean() メソッドの正しい使い方ですか?

4

1 に答える 1

0

リレーションシップのクリアは、おそらくシグナルによって処理されるのが最適です。シグナルが適切に機能していることを検証するために、単体テストを作成できます。

タイトルが一意であることを検証することは、間違いなくフォーム/モデル バリデーターに属するものです。私には、それは関心のより良い分離のように思えます。

于 2012-08-25T00:37:37.053 に答える