В Rails как указать стандартные флеш-сообщения в файле локали i18n

Я знаю, что в файле локали i18n есть несколько предустановленных структур, так что Rails извлекает значения автоматически. Например, если вы хотите установить текст кнопки отправки по умолчанию для новых записей:

# /config/locales/en.yml
en:
  helpers:
    submit:
      create: "Create %{model}"
      user:
        create: "Sign Up"

С этим набором в представлениях получится следующее:

# /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 использует предустановленную иерархию для получения текста кнопки отправки для разных моделей. (т.е. вам не нужно указывать, какой текст i18n получить при использованииf.submit.) Я пытался найти способ сделать это с помощью флэш-уведомлений и предупреждений. Существует ли аналогичная предустановленная структура для указания флэш-сообщений по умолчанию?

Я знаю, что вы можете указать свои собственные произвольные структуры, такие как следующие:

# /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

Но утомительно указыватьnotice: t('controllers.user_accounts.create.flash.notice') каждый раз. Есть ли способ сделать это так, чтобы контроллер "просто знал", когда захватывать и отображать соответствующие флэш-сообщения, указанные в файле локали? Если так, какова структура YAML по умолчанию для них?

Ответы на вопрос(3)

Ваш ответ на вопрос