page << "window.parent.Shadowbox.close();"
             page.redirect_to root_url

On dirait que tu es dans une iframe (window.parent..) donc tu fais un  
redirect dans ton iframe
p-e un truc du genre

page << "window.parent.document.location.href = '#{root_url}'"

Seb




On Jun 29, 2009, at 4:17 PM, Michel Belleville wrote:

> 2009/6/29 Kad Kerforn <[email protected]>
>
>
> def create
>    # request.xhr? true
>    @user = User.new(params[:user])
>    if @user.save
>       @user.deliver_confirm_account_instructions!
>       flash[:notice] =  "Merci de ....."
>
>       respond_to do |format|
>         format.html {  redirect_to root_url   }
>         format.js  {
>           render :update do |page|
>             page << "window.parent.Shadowbox.close();"
>             page.redirect_to root_url
>           end
>         }
>       end
>  else
>      respond_to do |format|
>        format.html { render :action => :new }
>        format.js  { }
>      end
>  end
> end
>
> root_url   definie comme route  controller => 'statics'  :action =>
> 'welcome'
>
> en cas de non validation, pas de problème , la flashhbox est mise à  
> jour
> lorsque l'enregistrement est OK, la flashbox est fermée
> MAIS la redirection n'est pas effectuée  (j'ai mis un debug dans
> l'action 'welcome'
>
> je reste sur la page html  où la flashbox a été appelée
>
> où peut se situer le porblème ?
>
> Tu ferme la fenêtre avant de rediriger vers l'url racine, du coup le  
> script arrête de s'exécuter avant de faire la redirection.
>
> Ceci dit, quel intérêt de rediriger si tu ferme la fenêtre de toute  
> façon ?
>
> Michel Belleville
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
-~----------~----~----~----~------~----~------~--~---

Répondre à