Мои флеш-сообщения иногда исчезают, как и ожидалось, а иногда нет.
Вот пример работы флэш-сообщения (контроллер)
def create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_url, alert: "Logged in!"
else
flash.now[:alert] = "Email or password is invalid"
render "new"
end
end
Вот пример не исчезающего флэш-предупреждения
def destroy
session[:user_id] = nil
redirect_to root_url, alert: "Logged out!"
end
Вот функция jQuery
jQuery(document).ready(function(){
setTimeout(function(){
$('#notice_wrapper').fadeOut("slow", function() {
$(this).remove();
})
}, 3500);
});
Вот html / css / erb для оболочки
<% if notice %>
<div id="notice_wrapper" style="position: absolute; top: 0; width: 100%; z-index: 999; background: rgba(135, 216, 211, 0.85);">
<p class="notice"><%= notice %></p>
</div>
<% elsif alert%>
<div id="notice_wrapper" style="padding: 2.5rem 0; text-align: center; margin: 0; font-size: 1.25rem; font-weight: 700; color: white; letter-spacing: 1px;">
<p class="alert"><%= alert %></p>
</div>
<% end %>
Почему это работает для первого примера, а не для второго.