2010-11-12 23 views

Répondre

10

J'utilise le plugin settingslogic pour des choses comme ça. Très facile à utiliser.

Ajouter settingslogic à votre Gemfile et bundle install:

gem 'settingslogic' 

Créez un répertoire pour vos paramètres et placez le yaml settingslogic là:

/my_app/config/settings/my_settings.yml 

Vous pouvez inclure des paramètres par défaut et par les paramètres d'environnement. Le fichier ressemble à ceci:

defaults: &defaults 
    api_key: abc123 

development: 
    <<: *defaults 

test: 
    <<: *defaults 

production: 
    <<: *defaults 

Ajouter ce fichier: app/models/my_settings.rb, démarrez votre application et vous êtes bon pour aller

class MySettings < Settingslogic 
    source "#{Rails.root}/config/settings/my_settings.yml" 
    namespace Rails.env 
end 

Maintenant, vous pouvez utiliser appeler ces paramètres de partout dans l'application comme si :

MySettings.api_key 
+0

Génial, merci beaucoup pour le conseil! – kayluhb

+0

J'ai décidé de créer une gemme similaire à settingslogic, mais sans avoir besoin d'ajouter une classe MySettings. Plus d'infos ici: http://www.cowboycoded.com/2011/04/08/application-wide-variables-for-your-rails-3-app-using-yettings/ – johnmcaliley

+0

C'est génial, merci! Je vais probablement l'utiliser avec mon prochain projet. – kayluhb