Пусть флеш сообщения исчезают на одной странице в рельсах
Я хочу, чтобы флеш-сообщение исчезло через несколько секунд. Поэтому я использую эти коды:
$(function() {
$('.alert').slideUp(1500);
});
.alert - это класс начальной загрузки, который я добавляю во флэш-сообщение.
И мое приложение достигло функции входа / выхода пользователя только через omniauth. (с Facebook и Google Plus) Коды входа / выхода из системы указаны в конце.
Когда я захожу, флеш-сообщение исчезло, как я и думал. Но когда я вышел из системы, вспышка не исчезла.
Но если я использую эти коды, эта функция будет работать правильно. (но немного отличается от того, что я хочу)
$(function() {
setInterval(function(){
$('.alert').slideUp(500);
}, 1000);
});
коды входа / выхода:
class SessionsController < ApplicationController
def create
auth_data = request.env['omniauth.auth']
auth = Authorization.find_by( provider: auth_data['provider'], uid: auth_data['uid'] )
user = auth.nil? ? User.create_with_omniauth(auth_data) : auth.user
session[:user_id] = user.id
if !user.email
redirect_to edit_user_path(user), :alert => "Please enter your email address."
else
redirect_to root_url, :notice => "Signed in!"
end
end
def destroy
reset_session
redirect_to root_url, :notice => "Signed out!"
end
def new
end
def failure
redirect_to root_url, :alert => "Authentication error: #{params[:message].humanize}"
end
end