補助ソースから外部データをロードする必要があるモデルがあります。モデルがデータをフェッチできる(スワップ可能な)Webサービスは多数存在しますが、サービスの変更を困難にするコードを作成したくありません(コストは可変使用量と固定使用量によって大幅に異なり、変更される可能性があります)必要になります)。
インタラクションを実行するためのドライバーを作成したいと思います(サービスの切り替えが必要な場合は、さらにカスタムドライバーを作成します)。残念ながら、ドライバーとモデルは緊密に結合されているため、コードをプラグインまたはgemに抽出することは意味がありません。すべてのコードをモジュールに抽出し(例を参照)、現在、モデルの上でコードを宣言しています。
module Synchronize
def refresh
self.attributes = ...
self.save
end
end
class Data < ActiveRecord::Base
include Synchronize
end
Rails(3.0.0)には、モデルと緊密に結合されたモジュールを格納するための規則がありますか?これを行うためにプラグインを使用する必要がありますか?これは「app/helpers」ディレクトリに関連付けられていますか?そうでない場合、コードを保存するのに最も適切な場所はどこですか?ありがとう!