2010-06-23 10 views
2

Je suis nouveau sur Rack et j'essaie de comprendre Ruby on Rails 3.0.0.beta4.Utilisation de variables (demandes de base de données) dans le fichier config.ru

Je démarre une application Rack dans le fichier config.ru mais j'aimerais utiliser une variable stockée dans ma base de données. Est-il même possible d'obtenir une valeur de base de données avant que l'application soit chargée ou est-ce que je manque complètement le point?

J'utilise la pierre précieuse Rack Google Analytics et je voudrais obtenir la clé UA de la base de données:

require "rack-google-analytics" 
use Rack::GoogleAnalytics, :tracker => "UA-xxxxx-x" 

Merci!

+0

Avez-vous déjà trouvé une réponse à cette question? – pjammer

Répondre

1

Bien sûr, vous pouvez faire someting comme ça

require "rack-google-analytics" 

require "active_record" 
ActiveRecord::Base.establish_connection ... 
... 

use Rack::GoogleAnalytics, :tracker => "UA-xxxxx-x" 

mais vous devez comprendre que tout le code sur la ligne

use Rack::GoogleAnalytics, :tracker => "UA-xxxxx-x" 

sera exécuté qu'une seule fois, lorsque votre serveur web commence

+0

Merci, se sent comme une solution de contournement lourde pour charger ActiveRecord seulement pour obtenir une valeur, mais en effet, cela fonctionnera. Supposons qu'il sera plus rapide de l'obtenir à partir d'un fichier de configuration quelque part. – Cimm

+0

Certes, vous avez raison, c'est une mauvaise idée de charger ActiveRecord ici dans le vrai projet. Je l'ai écrit juste par exemple. – alexkv