I am doing some exception handling in my controller, when there is an exception thrown in :create action, I will render to the :new action and show a flash message.
Everything works fine, I can see the flash message when exception caught, but when I redirect to(handly click) other page, the flash message still here. Then I redirect to another page(the second handly click), the message could disappear.
Anyone who knows what is the reason?
My controller code:
class MessagesController < ApplicationController
rescue_from Exception, :with => :render_new
def new
end
def create
end
private
def render_new
flash[:alert] = t("uploading_error")
render :action => :new
end
end
My layout code (Haml):
%body
#content
- unless flash[:alert].blank?
#alert= flash[:alert]
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…