Поэтому, когда я вышел из системы и попытался проголосовать, меня перенаправили на страницу входа. Проверьте этот вопрос, который я задал для получения более подробной информации о том, как выглядит мой код: Перенаправление не работает
Теперь я внедрил файл new.js.erb в моем каталоге сессий (я следовал за принятым ответом в вопросе, с которым я связан), который выполняет перенаправление. Однако теперь я хочу добавить собственное флеш-сообщение после перенаправления на страницу, что-то вроде «Вы должны войти в систему, чтобы голосовать».
Я пытался добавить эту строку:
flash.now[:alert] = "You must be logged in to vote."
к новому действию моего контроллера сессий, но это добавляет сообщение всякий раз, когда я захожу на страницу входа, даже если я уже вошел в систему. Что мне делать?
Это код, который я использую:
def access_denied
notices = {
:video_vote => {:new => "You must log in before voting"}
}
controller_name_sym = controller_name.to_sym
action_name_sym = action_name.to_sym
redirect_to login_path, :notice => (notices[controller_name_sym] && notices[controller_name_sym][action_name_sym] || "You must log in to perform this action.") and return false
end