2010-06-17 7 views
0

Dans mon application, je suis en utilisant le plug-in ym4r-g ​​, qui vous permet de jouer avec l'API Google Maps ... je mets la carte « setup » dans le contrôleur:Ruby on Rails contrôleur-view refactorisation

@map = GMap.new("div_map") 
@map.control_init(:large_map => true, :map_type => true) 
@map.center_zoom_init([47.0, 26.0], 7) 
... 

Et de ne rendre que @map dans la vue.

Donc, ma première question est de savoir si j'utilise la bonne approche de "plonger" ce code? Et la deuxième question est: J'ai des modèles qui rendent la même carte (seules les ressources sont différentes). Où dois-je mettre ma méthode refactorisée qui rend la carte? Dans le contrôleur d'application, peut-être? Merci d'avance, J'espère que vous me comprendrez!

Répondre

1

Selon la taille de votre projet. Vous pouvez l'ajouter au contrôleur d'application, au cas où vous voudriez que d'autres contrôleurs en profitent. Ou vous pouvez créer un nouveau module et y mettre votre code, de cette façon vous devrez l'inclure dans les modèles/contrôleurs qui en ont besoin seulement.

Je préférerais cette dernière, car elle est plus structurée de cette façon et le contrôleur d'application n'est pas encombré. Mais c'est vraiment un choix personnel.