Forum: Rails France pas de redirection (rjs)

Posted by Kad Kerforn (kadoudal)
on 2009-06-29 15:53
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 ?

merci de votre aide

erwin
Posted by Michel Belleville (Guest)
on 2009-06-29 16:19
(Received via mailing list)
2009/6/29 Kad Kerforn <list-incoming@andreas-s.net>

>         format.html {  redirect_to root_url   }
>        format.js  { }
> 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
Posted by Kad Kerforn (kadoudal)
on 2009-06-29 16:31
Michel Belleville wrote:
> 2009/6/29 Kad Kerforn <list-incoming@andreas-s.net>
> 
>>         format.html {  redirect_to root_url   }
>>        format.js  { }
>> 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

merci de ton aide.. je teste ...

si je ne ferme pas la fenêtre, la redirection est correctement faite, 
mais la page est affichée DANS la fenêtre  ( woow..)
Posted by Sébastien Gruhier (Guest)
on 2009-06-29 16:37
(Received via mailing list)
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
Posted by Michel Belleville (Guest)
on 2009-06-29 16:48
(Received via mailing list)
Effectivement, ça me semble plus être ce que tu devrais chercher à 
faire,
mais c'est sans savoir ce que tu veux vraiment faire.

Michel Belleville


2009/6/29 Sébastien Gruhier <sgruhier@gmail.com>
Posted by Kad Kerforn (kadoudal)
on 2009-06-29 19:52
Sébastien Gruhier wrote:
> 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

exactement c!est une iframe, je vais essayer ça ..

merci

erwin
Posted by Kad Kerforn (kadoudal)
on 2009-06-29 19:54
Sébastien Gruhier wrote:
> 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

MERCI ! Michel & Sebastien ... ça marche

j'ai mis ça dans on create.js.rjs

  page << "window.parent.Shadowbox.close();"
  page << "window.parent.document.location.href = '#{root_url}'"


et roule ma poule !!!

merci ;-))))))))))
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.