Problemas Para Cerrar una pagina y abrir otra


#1

Saludos a la comunidad.

Quiero hacer una pregunta, tengo una pagina en mi /view la cual se llama
inicio.rhtml, el cual tiene algunos efectos de AJAX, el cuerpo de la
pagina es el siguiente.

<%= form_remote_tag(:url => {:action =>“entrar”},:update => “dato”)%>
Usuario

<%= text_field ‘profesore’, ‘primer_nombre’, ‘size’ =>20, ‘name’
=>‘nombre’ %>

<%= submit_tag "Login" %> <%= end_form_tag%>

La pregunta es la siguiente luego de que el usuario hace su login,
quiero que aparezca otra pagina, lo que tengo en el controller es lo
siguiente.

def entrar
cedula=params[:codigo]
nombre=params[:nombre]

@profesore = Profesore.find(:first,
:conditions => "cedula = '#{cedula}' AND primer_nombre = '#
  {nombre}'")
 if @profesore == nil
     mensaje="<font color='red'>Usuario Inexistente</font>"
     render_text mensaje
   else
               redirect_to(:controller =>"gaia",:action =>"dato")
 end

end

Lo que pasa es lo siguiente que la otra página la cual se llama
dato.rhtml se sobrepone en la página, principal cuando quiero es que la
página inicio.rhtml se cierre y aparezca la otra pagina dato.rhtml sin
sobreponerse.

Gracia de Antemano.


#2

On Dec 30, 2006, at 4:41 AM, Juan M. wrote:

               redirect_to(:controller =>"gaia",:action =>"dato")
 end

end

Lo que pasa es lo siguiente que la otra página la cual se llama
dato.rhtml se sobrepone en la página, principal cuando quiero es
que la
página inicio.rhtml se cierre y aparezca la otra pagina dato.rhtml sin
sobreponerse.

Estas enviando una redireccion por HTTP a la peticion Ajax misma (que
como sabes es una peticion HTTP normal gestionada por el navegador
por lo bajini). Para conseguir la redireccion de la pagina como tal
usa JavaScript en la respuesta:

render :update do |page|
page.redirect_to :controller => “gaia”, :action => “dato”
end

– fxn


#3

Estas enviando una redireccion por HTTP a la peticion Ajax misma (que
como sabes es una peticion HTTP normal gestionada por el navegador
por lo bajini). Para conseguir la redireccion de la pagina como tal
usa JavaScript en la respuesta:

render :update do |page|
page.redirect_to :controller => “gaia”, :action => “dato”
end

– fxn

Amigo lo que me escribiste funciona perfectamente ya lo probé y no me
sobrepone la pagina, lo que si no se es que antes de aparecer la otra
pagina sale como unas letras muy rápidas que dice mas o menos así “try
window.location href= …” y después si sale la otra pagina

PD: te aviso cuando me funcione lo del text_field_with_auto_complete,
estoy trabajando en eso.

Gracias, JPMG


#4

Amigo lo que me escribiste funciona perfectamente ya lo probé y no me
sobrepone la pagina, lo que si no se es que antes de aparecer la otra
pagina sale como unas letras muy rápidas que dice mas o menos así “try
window.location href= …” y después si sale la otra pagina

PD: te aviso cuando me funcione lo del text_field_with_auto_complete,
estoy trabajando en eso.

Gracias, JPMG

el erro que digo es el siguiente:
Try {window.location.href = “/gaia/prueba1”;}catch (e) {alert(‘RJS
error:\n\n’ +
e.toString());alert(‘window.location.href=\”/gaia/prueba1\”;’);throw e}


#5

On Dec 30, 2006, at 10:45 PM, Juan M. wrote:

el erro que digo es el siguiente:
Try {window.location.href = “/gaia/prueba1”;}catch (e) {alert(‘RJS
error:\n\n’ +
e.toString());alert(‘window.location.href=\”/gaia/prueba1
\”;’);throw e}

Lo ves aparecer por un momento porque usas :update en la vista. No
uses :update, envia simplemente el form y responde con RJS segun el
caso:

render :update do |page|
if @profesore.nil?
page.replace_html :dato, “Usuario
Inexistente”
else
page.redirect_to :controller => “gaia”, :action => “dato”
end

– fxn