Я не могу найти официально документированный список типов оповещений в Rails по какой-либо причине. В моих контроллерах я перенаправляю пользователей обратно, и пока помощник redirect_back
, похоже, не добавляет мой второй параметр в переменную flash
.
Например, это работает:
redirect_back fallback_location: users_path, notice: "Added user."
и это не так:
redirect_back fallback_location: users_path, danger: "Deleted user."
Вот как выглядит мой views/layouts/application.html.erb
, когда дело доходит до отображения предупреждений:
<% flash.each do |key, value| %>
<br />
<div class="alert alert-<%= key_type(key) %> fade in">
<button class="close" data-dismiss="alert">
×
</button>
<i class="fa-fw fa fa-<%= key_icon(key) %>"></i>
<strong><%= key.capitalize %>:</strong> <%= value %>
</div>
<% end %>
Причина, по которой у меня есть помощники key_type
и key_icon
, заключается в том, что Rails, похоже, использует эти типы оповещений, такие как notice
, которые не соответствуют оповещениям моей темы.
Таким образом, я поместил binding.pry
сразу после открытия flash.each
, и я вижу, что если я перенаправлю_бэк с установленным notice
, он попадет, что означает, что что-то есть во флэш-памяти. Но я попытался перенаправить обратно с danger
, error
, warning
и т. Д., И ни один из них не работает.
Я не уверен, что делаю неправильно, но я не могу понять, что на самом деле устанавливается в flash
.
Если я установлю его вручную перед методом redirect_back
, то он будет работать без сбоев, например:
flash[:danger] = "Deleted user."
но не с помощью метода redirect_back.
Есть предложения?