In Rails, wie Standard-Flash-Nachrichten in der i18n-Gebietsschemadatei angegeben werden
Ich weiß, dass die i18n-Locale-Datei einige voreingestellte Strukturen enthält, sodass Rails Werte automatisch abruft. Wenn Sie beispielsweise den Standardtext für die Senden-Schaltfläche für neue Datensätze festlegen möchten:
# /config/locales/en.yml
en:
helpers:
submit:
create: "Create %{model}"
user:
create: "Sign Up"
Mit diesem Set ergeben sich in Views folgende Ergebnisse:
# /app/views/things/new.html.erb
<%= f.submit %> #=> Renders a submit button reading "Create Thing"
# /app/views/users/new.html.erb
<%= f.submit %> #=> Renders a submit button reading "Sign Up"
Rails verwendet daher eine voreingestellte Hierarchie, um den Text der Senden-Schaltflächen für verschiedene Modelle abzurufen. (d. h. Sie müssen nicht angeben, welcher i18n-Text bei der Verwendung abgerufen werden sollf.submit
Ich habe versucht, eine Möglichkeit zu finden, dies mit Flash-Hinweisen und Warnungen zu tun. Gibt es eine ähnliche voreingestellte Struktur für die Angabe von Standard-Flash-Nachrichten?
Ich weiß, dass Sie Ihre eigenen willkürlichen Strukturen wie die folgenden angeben können:
# /config/locales/en.yml
en:
controllers:
user_accounts:
create:
flash:
notice: "User account was successfully created."
# /app/controllers/users_controller.rb
def create
...
redirect_to root_url, notice: t('controllers.user_accounts.create.flash.notice')
...
end
Es ist jedoch mühsam, die zu spezifizierennotice: t('controllers.user_accounts.create.flash.notice')
jedes Mal. Gibt es eine Möglichkeit, dies zu tun, damit der Controller "nur weiß", wann er die entsprechenden Flash-Meldungen abrufen und anzeigen soll, die in der Ländereinstellungsdatei angegeben sind? Wenn ja, wie lautet die Standard-YAML-Struktur für diese?