Ich versuche, Benutzern bessere Validierungsfehlermeldungen zu präsentieren. Zum Beispiel kann eine gegebene Eindeutigkeit Validierungsnachricht sagt etwas entlang der Linien von:Gibt es eine Möglichkeit, Attributwerte aus der Box mit i18n und Rails 4 zu interpolieren?
Schüler bereits in diesem Kurs
jedoch eingeschrieben ist, möchte ich es sagen:
Studenten Leroy Jenkins ist bereits in Calculus II eingeschrieben
Der Grund ist, weil ich ein verschachteltes Formular habe, das viele students_courses
zur gleichen Zeit erstellt, so dass der Benutzer ein halbes Dutzend dieser Nachrichten sehen kann und sie nicht wissen, welche Schüler ungültig sind.
Bietet ActiveRecord eine Option, um automatisch die Attribute des Modells für die Interpolation zu erhalten? Etwas wie %{model.student.name}
? Wenn nicht, weiß ich schon, wie man Parameter für die Interpolation manuell übergibt, ich frage nur, ob es einen besseren Weg gibt, es zu tun.
Btw, muss es i18n verwenden, da wir mehr als 1 Sprache unterstützen müssen.
Die Fehlermeldung, die oben in der en.yml
Datei unter dieser Struktur gelegt wurde:
http://guides.rubyonrails.org/i18n.html#error-message-interpolation
: für Fehlermeldung-Interpolationactiverecord:
errors:
models:
students_courses:
taken: "is already enrolled in this course"