1

Je travaille sur un plugin pour rails pour fournir des informations de diagnostic simples sur des systèmes externes à des fins de surveillance, etc. principalement comme un exercice pour en savoir plus sur les rails. J'ai besoin de savoir où appartiennent les variables de configuration pour ce type de plugin de rails, dans ce cas j'ai besoin de stocker un tableau d'adresses IP et de ports pointant sur ces services externes pour pouvoir y accéder dans mes contrôleurs de plugins, par ex.Où stocker la configuration pour un plugin de rails

['127.0.0.1:12345', '192.168.1.1:54321'] 

J'utilise actuellement Rails 3.1.

Répondre

3

Vous pouvez créer un nouveau fichier dans config/initialisateurs, par ex. globals.rb:

EXTERNAL_SERVICE_IP_1 = "some ip" 
3

Il y a beaucoup de réponses à cette question en fonction de ce que vous attendez vraiment:

  • définir une constante dans une classe ou d'un module (avec ou sans YML)

  • définissent deux méthodes dans un classe ou un module: un pour obtenir une variable (avec la valeur par défaut) et un autre pour définir et modifier la valeur

Comment voulez-vous l'utiliser?

+3

Rails a intégré dans le module pour aider avec les configurations qui le rend plus facile à faire l'option 2. https://github.com/rails/rails/blob/master/activesupport/lib/active_support /configurable.rb –

+0

@Beerlington: vous devriez poster ceci comme une réponse, c'est une ressource précieuse que j'ai oublié de mentionner – apneadiving

+0

C'est fondamentalement faire ce que votre deuxième suggestion obtient. Je n'ai pas envie de détourner votre réponse quand un commentaire pourrait suffire :) –

Questions connexes