Ich arbeite an einer einfachen Rails-App, die SMS macht. Ich nutze Twilio dafür über das Juwel twilio_ruby. Ich habe 10 verschiedene Telefonnummern, von denen ich zufällig SMS senden möchte.
Ich weiß, ob ich so etwas mache:
numbers = ["281-555-1212", "821-442-2222", "810-440-2293"]
numbers.sample
281-555-1212
Es wird zufällig einen der Werte aus dem Array ziehen, genau das, was ich will. Das Problem ist, dass ich nicht alle 10 dieser Nummern in die App fest codieren oder sie der Versionskontrolle übergeben möchte.
Also liste ich sie zusammen mit meiner Twilio SID / Token in yaml (Secrets.yml) auf. Wie kann ich ein Array aus den 10 Yaml-Feldern erstellen, d. H. Twilio_num_1, twilio_num_2 usw. usw., damit ich numbers.sample
aufrufen kann?
Oder gibt es einen besseren Weg, dies zu tun?
3 Antworten
Sie können auch verwenden
twilio_numbers:
- 281-555-1122
- 817-444-2222
- 802-333-2222
Sie müssen also die Zahlen nicht in eine Zeile schreiben.
Dies durch Versuch und Irrtum herausgefunden.
In Secrets.yml
twilio_numbers: ["281-555-1122","817-444-2222","802-333-2222"]
In meinem Code:
Rails.application.secrets.twilio_numbers.sample
Klappt wunderbar.
Erstellen Sie eine Datei: config/twilio_numbers.yml
---
- 281-555-1122
- 817-444-2222
- 802-333-2222
Und lade es wie folgt in dein config/application.rb
:
config.twilio_numbers = YAML.load_file 'config/twilio_numbers.yml'
Sie können dann von einer beliebigen Datei aus wie folgt auf das Array zugreifen:
Rails.application.config.twilio_numbers
=> ["281-555-1122", "817-444-2222", "802-333-2222"]
Verwandte Fragen
Neue Fragen
arrays
Ein Array ist eine geordnete lineare Datenstruktur, die aus einer Sammlung von Elementen (Werten, Variablen oder Referenzen) besteht, die jeweils durch einen oder mehrere Indizes gekennzeichnet sind. Wenn Sie nach bestimmten Varianten von Arrays fragen, verwenden Sie stattdessen die zugehörigen Tags: [vector], [arraylist], [matrix]. Wenn Sie dieses Tag verwenden, kennzeichnen Sie die Frage in einer für eine Programmiersprache spezifischen Frage mit der verwendeten Programmiersprache.