J'ai un modèle qui nécessite le chargement de données externes à partir d'une source auxiliaire. Il existe un certain nombre de services Web pour lesquels mon modèle peut extraire les données (permutables), mais je ne souhaite pas créer de code qui rendrait difficile le changement de service (les coûts varient considérablement en fonction de l'utilisation variable et fixe). sera requis).Modèle utilisant des modules dans les rails Application
Je voudrais créer un pilote pour effectuer l'interaction (et ensuite créer d'autres pilotes personnalisés si le service nécessite une commutation). Malheureusement, en raison du couplage étroit du pilote et du modèle, il n'est pas logique d'extraire le code dans un plugin ou une gemme. J'ai extrait tout le code dans un module (voir l'exemple), et j'ai actuellement le code déclaré au-dessus de mon modèle.
module Synchronize
def refresh
self.attributes = ...
self.save
end
end
class Data < ActiveRecord::Base
include Synchronize
end
Est-ce que Rails (3.0.0) a une convention pour stocker des modules étroitement couplés à des modèles? Dois-je utiliser un plugin pour le faire? Est-ce associé au répertoire 'app/helpers'? Si non, où est l'endroit le plus approprié pour stocker le code? Merci!