2017-10-24 14 views

答えて

0

lib/servicesディレクトリから開始できます。一般的に、Rails以外のRubyプロジェクトにはすべてのコードがlibの中に入っているので、良い選択です。

しかし、libディレクトリ内のコードは、デフォルトで自動的にRailsにリロードされません。また

# config/application.rb 
config.autoload_paths << "#{Rails.root}/lib/services" 

とセットアップそれは、あなたが標準の命名規則に従ってくださいしかし、あなたは可能性が適切に動作するためのオートローディング中(lib/services/example.rbはクラスExampleが含まれている必要があります)。

+0

autoloadは、ファイル内で緩やかに、またはApplicationクラス内に入りますか?TY – paulorodriguez

+0

'Application'クラスの内側です。 – hedgesky

0

私の提案は、liblib/third_party/third_party_nameの内部にサブフォルダを作成してください。

このフォルダには、パートナーに接続するために必要なロジックが含まれています。

次に、ビジネスロジックを含むサービスservices/...を作成し、コネクタを呼び出します。

最後に、コントローラでサービスを呼び出します。

このように、すべてには独自のレイヤーがあります。それ以降、同じパートナーを使用して2番目のアプリを作成した場合は、あなた自身の宝石の中にlib/third_party/third_party_nameを抽出して再利用することができます。

関連する問題