Ich habe eine kleine Anwendung mit Gerüst erstellt. Ich poste Daten über die Chrome-Erweiterung "PostMan".So speichern Sie Rails Eingangsparameter in Datei
Dies ist die Standardmethode in meinem Controller erstellen:
# POST /settings
# POST /settings.json
def create
@setting = Setting.new(setting_params)
respond_to do |format|
if @setting.save
format.html { redirect_to @setting, notice: 'Setting was successfully created.' }
format.json { render :show, status: :created, location: @setting }
puts Setting.new(setting_params).to_yaml
else
format.html { render :new }
format.json { render json: @setting.errors, status: :unprocessable_entity }
end
end
end
Dies ist das Protokoll in Rails' Konsole:
(0.2ms) begin transaction
SQL (1.0ms) INSERT INTO "settings" ("DetectionOnly", "SecRequestBodyAccess", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["DetectionOnly", "f"], ["SecRequestBodyAccess", "f"], ["created_at", "2016-03-23 18:04:42.642492"], ["updated_at", "2016-03-23 18:04:42.642492"]
ich nur diese Transaktion in eine Log-Datei versucht, bin und Ausgabe im YAML-Format speichern.
Ich habe versucht, dies direkt nach @setting.save
.
puts Setting.new(setting_params).to_yaml
Was mache ich hier falsch?
Meinen Sie, Sie möchten die Yaml in einer separaten Datei speichern und nicht die Protokolldatei? – vee
korrekt, ich möchte die vom Benutzer ausgewählten Werte speichern und sie in einer Konfigurationsdatei speichern. – Deano
Versuchen Sie, ein Protokoll der Transaktionen zu führen, oder versuchen Sie, eine Benutzerkonfigurationsdatei zu behalten? Sie sind sehr unterschiedliche Arten von Dateien. Haben Sie vor, die Benutzer-Konfiguration neu zu laden und sie manuell zu bearbeiten oder anzuzeigen, dann ist YAML gut. Wenn Sie es neu laden müssen und die Leute den Inhalt der Datei nicht bearbeiten/anzeigen müssen, ist JSON besser, besonders wenn andere Sprachen es lesen müssen. Aber warum nicht eine Tabelle mit Benutzerkonfigurationen anstelle von Dateien? –