No Rails, como especificar mensagens flash padrão no arquivo de localidade i18n
Eu sei que existem algumas estruturas predefinidas no arquivo de localidade i18n, para que o Rails extraia valores automaticamente. Por exemplo, se você deseja definir o texto do botão de envio padrão para novos registros:
# /config/locales/en.yml
en:
helpers:
submit:
create: "Create %{model}"
user:
create: "Sign Up"
Com este conjunto, nas visualizações, resultará o seguinte:
# /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"
Portanto, o Rails usa uma hierarquia predefinida para obter o texto do botão enviar para diferentes modelos. (ou seja, você não precisa informar qual texto i18n obter ao usarf.submit
.) Estou tentando encontrar uma maneira de fazer isso com avisos e alertas em flash. Existe uma estrutura predefinida semelhante para especificar mensagens flash padrão?
Eu sei que você pode especificar suas próprias estruturas arbitrárias, como o seguinte:
# /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
Mas é entediante especificar onotice: t('controllers.user_accounts.create.flash.notice')
toda vez. Existe uma maneira de fazer isso para que o controlador "saiba" quando capturar e exibir as mensagens flash apropriadas especificadas no arquivo de localidade? Em caso afirmativo, qual é a estrutura YAML padrão para eles?