2012-04-01 10 views
0

私の要件は、ラウンドが再生されていない場合、オブジェクト(ティー)を更新することです。ラウンドが行われている場合は、オブジェクト(ティー)をアーカイブし(アクティブな属性をfalseに設定)、オブジェクトのクローンに更新を適用します。私は戻っていますので更新を更新またはアーカイブのいずれかに上書きする

def update 
    if(self.rounds.count == 0) 
    super 
    else 
    #archive, clone and apply changes 
    archive_clone_and_change 
    return false 
    end 
end 

これはしかし汚い感じている:

私の最初の考えは、私はそうのようなティーモデルでupdateメソッドを上書きし、アーカイブ、クローンや変更を処理するプライベートメソッドを持っているというものでしたアーカイブの更新が成功した場合はfalseです。また、archive_clone_and_changeメソッドの変更を適用しようとすると、やっかいになります。

私はこの方法の代わりにコントローラでこれを行うべきですか、私の考え方は意味がありますか?

答えて

0

モデルとコントローラの決定は、主観的になる可能性がありますが、私はコントローラでそれを行います。それは実際にはモデルに直接関係するものではなく、モデルに適用されるロジックです。

+0

お返事ありがとうございます。私がこれについて考え過ぎるほど、あなたは正しいと思います。私の質問に答える時間をとってくれてありがとう。 – cmaxwell

関連する問題