Ich versuche, eine Rails Fixture zum Testen eines Controllers erstellen, die Versionen mit dem paper_trail Edelstein (7.0.1) erhalten bleibt. Aber ich war bisher nicht in der Lage, irgendwelche Versionen innerhalb der Geräte zu testen. Und es scheint, dass die YAML-Datei andere Tests nicht lädt/bricht. Hier ist der Inhalt meiner `versions.yml`` Datei:Rails YAML Fixture Fehler mit PaperTrail Gem
---
version_001:
id: 1
item_type: 'DistributionChannel'
item_id: 1
event: 'create'
whodunnit: <%= User.find_by(email: '[email protected]').id.to_s %>
object: nil
created_at: 2017-05-15 12:00:00.000000000 Z
object_changes: '---\\nid:\\n- \\n- 1\\nprimary_channel:\\n- \\n- Best Buy\\nsecondary_channel:\\n- \\n- ''\ncreated_at:\\n- \\n- 2017-05-15 12:00:00.000000000 Z\\nupdated_at:\\n- \\n- 2017-05-15 12:00:00.000000000 Z\\n'
Das Schema enthält die Versionen Tabelle mit den entsprechenden Spalten btw.
Ausgehen hier, object_changes muss in Anführungszeichen sein? –
Welche Art von Fehlermeldungen erhalten Sie? Wird der Wert für "object_changes" wirklich zweimal ** ausgewertet, um doppelte Backslashes aus dem geladenen YAML zu erhalten (für die sie ** not ** Escape-Sequenzen sind, d. H. "\\ n" wird als 3 Zeichen geladen). Was ist deine genaue Frage? Gibt es eine Alternative für paper_trail? Wie konvertiert man die YAML zu JSON?Wenn Sie den Test mit XML schreiben können? – Anthon
Ich erhalte tatsächlich keinen Fehler beim Laden von Fixtures mit db: fixtures: load, aber es werden keine Versionen geladen, wenn man in die Tests eindringt. Ich würde auf jeden Fall gerne weiter mit paper_trail arbeiten. Und es war mein Verständnis, dass ich den neuen Zeilenzeichen entkommen musste, daher das zusätzliche "\". Ich bin sehr neu in Armaturen, da ich Fabriken bevorzuge. Kurz gesagt, ich suche, ob es irgendwelche offensichtlichen Syntaxfehler oder andere Schluckaufe gibt, von denen diejenigen, die Erfahrung mit paper_trail haben, wissen könnten, dass das Laden der Fixtures verhindert würde. Vielen Dank! – lgants