that should work just fine provided you don't do a redirect in your controller upon failure... you need something like
MyController
def send_mail
if request.post? if everything validates etc flash[:notice] = 'Message sent' redirect_to :action => :message_sent else render :action => :contact_form end end
end
end
note that if there was an error you render an action, not redirect to it. if you redirect you are responsible for preserving all params yourself.