flash[:alert] не работи, но flash[:notice] показва съобщението при пренасочване

Използвам rails_admin gem и конфигурацията е както следва

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], мога да видя съобщението на root_path, но ако го променя на flash[:alert], то не се показва, някакви идеи защо и какво би било решението?

Искам да използвам само :alert, тъй като промяната на цвета на известието ще доведе до показване на червен шрифт за всички останали известия.


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


Отговори (1)


Вероятно не извеждате флаш[: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