Redirections et Ajax ( utilisation de demo-por2006.xilinus.c

Bonjour,

j’ai apprécié la demo Ajax de Sébastien ,
http://demo-por2006.xilinus.com/ajax, et je l’ai utilisée pour dynamiser
ma fenêtre de Login.
Mias je n’ai pas réussi à conserver les comportements que j’avais
définis auparavant :
en cas d’authentification réussie, retourner à l’url de l’appel . Je le
faisais avec une méthode retour_origine_appel_ou_defaut, définie dans
application.rb mais là , je ne sais pas comment l’intégrer dans le code.

Ma vue connexion est structurée comme celle index de la demo, et mon
contrôleur de connexion comme suit (la méthode connecter correspond Ã
celle create de la demo). J’ai déjà vérifié la validité du login.
def connecter
render :nothing => true, :status => ‘204 No Content’ and return
unless request.xhr? and request.post?
@candidat=
Utilisateur.find_by_identifiant(params[:utilisateur][:identifiant])
render :update do |page|
if Utilisateur.authentifier(params[:utilisateur][:identifiant],
params[:utilisateur][:mot_passe])
@candidat.err_connexion = 0
@candidat.save
session[:utilisateur] = @candidat
page.replace_html “connexion”, :partial => ‘accueil’
#content_tag(“span”, “Authentification réussie”, :class => “succes”)

/ _#retour_origine_appel_ou_defaut dans ce cas je veux
retourner à la page d’appel ou aller à l’accueil _/

  else
    @candidat.err_connexion  += 1
    page.replace_html "connexion", content_tag("span", "Le mot de

passe saisi ne correspond pas à celui enregistré \n Vous ne disposez
plus que de #{[email protected]_connexion} tentatives de connexion !",
:class => “erreur”)

if @candidat.err_connexion == 3
Notification::deliver_mail_compte_bloque(@candidat,
@request.remote_ip)
@candidat.actif = 0
@candidat.adresse_ip = @request.remote_ip
page.replace_html “connexion”, content_tag(“span”, “Votre
compte est bloqué, veuillez contacter votre administrateur”, :class =>
“erreur”)

/# rediriger vers une page dédiée compte_bloque/

    end
      @candidat.save
  end
  page.show "connexion"
  page.visual_effect :highlight, :connexion
  page.visual_effect :fade, "connexion", :delay => 3
  page[:connexion_form].reset();
end

end

Je ne sais pas comment effectuer les redirections dans les cas cités .
:-((
D’avance merci de vos conseils.

Nicolas Fesneau