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
2009/6/29 Kad K. [email protected]
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 B.
Michel B. wrote:
2009/6/29 Kad K. [email protected]
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 B.
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…)
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
Effectivement, ça me semble plus être ce que tu devrais chercher Ã
faire,
mais c’est sans savoir ce que tu veux vraiment faire.
Michel B.
2009/6/29 Sébastien Gruhier [email protected]
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
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 ;-))))))))))