Флэш-сообщения отображаются без цвета

Я пытаюсь отобразить сообщение об ошибке флэш-памяти при вводе неверного адреса электронной почты/пароля:

Фрагмент макета:

<% flash.each do |key, value| %>
    <div class="alert alert-<%= key %>"><%= value %></div>
<% end %>

Контроллер:

class SessionsController < ApplicationController
    def create
        user = User.find_by(email: params[:sessions][:email].downcase)
        if user && user.authenticate(params[:sessions][:password])
            # Sign the user in and redirect to the user's show page.
        else
            flash.now[:error] = "Invalid email/password combination"
            render 'new'
        end 
    end
end

Но я получаю приведенное выше флэш-сообщение в виде простого черного текста, хотя он должен быть красным со стилизованным фоном.

Только :success отображает значение (мгновенное сообщение) зеленым текстом, остальные клавиши отображают обычный текст.

Что я делаю не так? Как я могу это исправить?


person nitish_sharma    schedule 12.07.2014    source источник
comment
вы должны проверить элемент и посмотреть, совпадает ли назначенный класс с вашим css   -  person Mohamed El Mahallawy    schedule 13.07.2014
comment
Flash — это просто хэш, хранящийся в сеансе, он не имеет ничего общего с отображением сообщений. Посмотрите на свои макеты и стилизуйте соответствующие элементы div с помощью css.   -  person BroiSatse    schedule 13.07.2014
comment
@BroiSatse Я проверил макет. В этом нет ничего плохого. Я даже пытался жестко запрограммировать его (класс = оповещение об ошибке-ошибке), он все равно показывал обычный текст.   -  person nitish_sharma    schedule 13.07.2014
comment
У вас есть стили, определенные для этих классов?   -  person BroiSatse    schedule 13.07.2014


Ответы (1)


Если вы используете бутстрап, попробуйте использовать flash.now[:danger] вместо flash.now[:error]

person mjhlobdell    schedule 13.07.2014