■ Article en anglais ↓ [How to Use Environment Variables in Ruby On Rails] (https://qiita.com/alokrawat050/items/ff6dceec32baa0c8fa57)
Chaque application nécessite des paramètres de configuration tels que les informations d'identification du compte de messagerie et les clés API pour les services externes. Vous pouvez utiliser des variables d'environnement pour transmettre les paramètres de configuration locaux à votre application. Il existe plusieurs façons d'utiliser les variables d'environnement dans Ruby On Rails, et il existe également des gemmes comme FigaroGem. Pour cet article, j'utiliserai le fichier local_env.yml pour partager comment l'implémenter.
Si vous utilisez GitHub pour stocker et partager votre code et que votre projet est open source, tout développeur peut accéder à votre code. Si vous collaborez avec une équipe utilisant un référentiel Git privé et que vous ne souhaitez pas partager vos informations personnelles ou vos clés API avec le public, les paramètres locaux peuvent ne pas convenir à tous les membres de votre équipe.
Créez un fichier simple contenant les paires clé / valeur pour chaque variable d'environnement à l'aide du format de fichier YAML standard.
** Créez le fichier config / local_env.yml: **
MAIL_USERNAME: 'Your_Username'
MAIL_PASSWORD: 'Your_Username'
** Défini sur .gitignore ** Si vous avez créé un référentiel git pour votre application, le répertoire racine de votre application doit contenir un fichier nommé .gitignore. Ajoutez la ligne suivante au fichier .gitignore
/config/local_env.yml
** Défini dans le fichier d'application Rails ** Après avoir défini les variables d'environnement, le fichier "local_env.yml" doit être défini dans "config / application.rb". Définissez le code suivant dans le fichier ** config / application.rb **
config.before_configuration do
env_file = File.join(Rails.root, 'config', 'local_env.yml')
YAML.load(File.open(env_file)).each do |key, value|
ENV[key.to_s] = value
end if File.exists?(env_file)
end
Le code ci-dessus définit les variables d'environnement à partir du fichier local_env.yml.
** Utilisez des variables d'environnement dans le code ** Vous pouvez utiliser ENV ["MAIL_USERNAME"] dans votre application Rails. Exemple:
ActionMailer::Base.smtp_settings = {
address: "smtp.gmail.com",
enable_starttls_auto: true,
port: 587,
authentication: :plain,
user_name: ENV["MAIL_USERNAME"],
password: ENV["MAIL_PASSWORD"],
openssl_verify_mode: 'none'
}
Profitez du codage! : sourire :: sourire:
Si vous avez des questions, veuillez nous contacter.
c'est tout. Je vous remercie.
Recommended Posts