flash[:alert] не работает, но flash[:notice] отображает сообщение о перенаправлении

Я использую гем rails_admin, и конфигурация выглядит следующим образом.

config.authorize_with do
  if current_user.nil? || current_user.role != 'admin'
    redirect_to main_app.root_path
    flash[:alert] = "Sorry you are not authorized!"
  end
end

Когда я использую flash[:notice], я вижу сообщение о корневом_пути, но если я изменю его на flash[:alert], оно не будет отображаться, есть идеи, почему и какое решение?

Я хочу использовать только :alert, так как изменение цвета уведомления приведет к отображению красного шрифта для всех остальных уведомлений.


person H D    schedule 21.09.2015    source источник


Ответы (1)


Скорее всего, вы не выводите хэш flash[:alert] на свою страницу.

Посмотрите в своих представлениях, где вы выводите flash[:notice] (вероятно, в app/views/layouts/application.html.erb (или аналогичном) и скопируйте строку для вашего уведомления для предупреждения. Это должно выглядеть примерно так:

<% if flash[:alert] %>
      <div id="alert">
         <%= flash[:alert] %> 
      </div>
<% end %>

Если чего-то подобного не существует (или вы не можете его найти), добавьте его в свой вид (или макет).

person Yule    schedule 21.09.2015
comment
Это сработало после добавления flash[:alert] в application.html.erb. - person H D; 21.09.2015