1

例1:

モデルクラス「News」は、そのテキストを2つの異なる言語(フィールド:en_text、jp_text)で保存します。通常、1つの言語のテキストしかありません。Google Translate APIを使用してコールバックbefore_saveのテキストを翻訳する必要がありますか、それともこのコードをコントローラーに配置する必要がありますか?

例2

モデルクラス「支払い」。支払いが決済されるとき、システムは支払いの決済が成功したことを外部サービスに通知する必要があります。このコードは、モデルまたはコントローラーのどこに配置する必要がありますか?

4

2 に答える 2

0

モデルは通常、データを「取得」または「設定」するために使用されます。したがって、技術的に言えば、外部サービスがデータを「取得」または「設定」するサービスを提供している場合は、そうです。

于 2012-07-20T13:50:12.120 に答える
-2

モデルは、文字通りアプリケーションのビジネスロジック全体である必要があります。アプリケーションの要件は、テキストを翻訳するか、支払い時にサービスに通知する必要があることを意味しますね。つまり、モデルに書き込む必要があります。

コントローラは、一部のビジネスロジックアクションへの要求パラメータを処理するエンティティです。コントローラにはそのような部品を含めないでください。

私が知っているように、あなたは今のところRailsを使用しているので、次のリンクを見てください(このパターンはRuby以外のプログラマーにも役立ちます):

http://api.rubyonrails.org/classes/ActiveResource/Base.html

http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model-クラシック:)

于 2012-07-22T18:29:40.073 に答える