J'ai un fichier yml
qui contient quelques informations sur les paramètres de bases de données. J'ai besoin de créer un fichier qui a pris le contenu de la clé et créer un fichier.Écrire le contenu dans le fichier yml de hachage donné dans Ruby
comme, mon fichier YML:
db_info.yml
databases:
database1: # This would be first database
development:
adapter: mysql2
host: localhost
database: dev1
password: root
username: root
encoding: utf8
test:
adapter: mysql2
host: localhost
database: dev1_test
username: root
password: root
host: localhost
database2: # This would be second database
development:
adapter: mysql2
host: localhost
encoding: utf8
database: dev
password: root
username: root
test:
adapter: mysql2
host: localhost
database: dev_test
username: root
password: root
host: localhost
Quand je charge ce fichier yml
et essayer d'écrire des informations de fichiers individuels dans le nouveau fichier yml
qui a sauvé de manière erronée.
Je veux écrire le contenu dans le nouveau fichier comme
new_file.yml
config_file = Rails.root.join('config', 'multiple_database.yml')
file = YAML.load(ERB.new(File.new(config_file).read).result)
file['databases']['database1']
donc me retourner Hash
{"development"=>{"adapter"=>"mysql2", "host"=>"localhost", "database"=>"dev1", "password"=>"root", "username"=>"root", "encoding"=>"utf8"}, "test"=>{"adapter"=>"mysql2", "host"=>"localhost", "database"=>"dev1_test", "password"=>"root", "username"=>"root", "encoding"=>"utf8"}}
Je veux écrire ce contenu dans la nouvelle yml
fichier comme
development:
adapter: mysql2
host: localhost
database: dev1
password: root
username: root
test:
adapter: mysql2
host: localhost
database: dev1_test
username: root
password: root
host: localhost
J'ai essayé comme ceci:
array_of_hashes = [{:"client-1.domaine.net"=>"www.client-1.domaine.net/index.html/xxxxxx", :fef => 12}]
File.open("lib/yamlfile.yml","w") do |file|
file.write array_of_hashes.to_yaml
end
Alors sortie comme ça
---
- :client-1.domaine.net: www.client-1.domaine.net/index.html/xxxxxx
:fef: 12
Quelle est la solution que vous avez essayée de faire avec la question? –
J'ai essayé quelque chose comme ceci array_of_hashes = [{: "client-1.domaine.net" => "www.client-1.domaine.net/index.html/xxxxxx",: fef => 12}] Fichier.open ("lib/yamlfile.yml", "w") do | fichier | file.write array_of_hashes.to_yaml fin Mais cela ne semble pas 'base.yml' comme' rails'. –
En fait, j'ai essayé avec un exemple simple –