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.submitIch 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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage