Foros del Web » Programando para Internet » Ruby »

Problema al crear una variable dentro de un controlador.

Estas en el tema de Problema al crear una variable dentro de un controlador. en el foro de Ruby en Foros del Web. Hola a todos, tengo en mi poder el libro Agile Web Develompent with Ruby on Rails, y hay una parte en que una vez creado ...
  #1 (permalink)  
Antiguo 17/11/2006, 17:56
Avatar de alaynsync  
Fecha de Ingreso: enero-2004
Ubicación: Lawton
Mensajes: 101
Antigüedad: 20 años, 10 meses
Puntos: 1
Exclamación Problema al crear una variable dentro de un controlador.

Hola a todos, tengo en mi poder el libro Agile Web Develompent with Ruby on Rails, y hay una parte en que una vez creado mi controlador (Say), dentro de éste se me dice que debo crear una variable con el objetivo de que me de la fecha y hora actuales, bien, para ello me piden crear una variable @time y ponerle como resultado Time.now, bien, originalmente se ve así mi controlador:

Código:
class SayController < ApplicationController
  def Hello
  end
end
Al crearle la variable @time se vería así:

Código:
class SayController < ApplicationController
  def Hello
     @time = Time.now
  end
end
El objetivo de eso es que luego, en mi fichero hello.rhtml , cada vez que yo ponga La fecha actual es <%= @time %> dentro del código simplemente el resultado va a ser La fecha actual es (aquí es donde debe ir la fecha y hora actuales), bien, eso jamás llega a suceder, sé que es una pequeñez, porque en el libro se ve como funciona todo bien, pero bueno, dado el hecho de que soy completamente un principiante, no sé por qué sucede, puede que sea muy fácil corregir eso y la equivocación sea mía, el hecho es que no veo donde me equivoque.

Ah!! este es mi hello.rhtml:

Código:
<html>
<head>
 <title>Hello, Rails!</title>
</head>
<body>
 <p>
  la fecha actual es <%= @time %>.
 </p>
</body>
</html>
Bien, en el navegador solo se ve la fecha actual es . Obviamente algo no esta funcionando bien.

Por favor, ayuda.

Gracias mil.
__________________
Es mejor encender una vela que criticar la oscuridad.

Última edición por alaynsync; 17/11/2006 a las 18:03
  #2 (permalink)  
Antiguo 23/05/2007, 12:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 9 meses
Puntos: 0
Problema para pasar una variable

tengo problema para colocar una variable...
cuando coloco la variable <%= session[id] %> afuera se imprime pero cuando la quiero colocar dentro de un url no me pasa la variable a la pagina nueva..

<% if session[:id] %>
<div style="float:right; margin:9px 10px 0px 0px;"><%= link_to(image_tag('menu_icono.gif'), 'h_t_t_p_:_/_/_localhost/index.php?id=@session[id]') %>
</div>
<% end %>

espero tu ayuda...
  #3 (permalink)  
Antiguo 24/05/2007, 11:57
Avatar de willywg  
Fecha de Ingreso: julio-2005
Mensajes: 38
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Problema para pasar una variable

Cita:
Iniciado por alejandrocc03 Ver Mensaje
tengo problema para colocar una variable...
cuando coloco la variable <%= session[id] %> afuera se imprime pero cuando la quiero colocar dentro de un url no me pasa la variable a la pagina nueva..

<% if session[:id] %>
<div style="float:right; margin:9px 10px 0px 0px;"><%= link_to(image_tag('menu_icono.gif'), 'h_t_t_p_:_/_/_localhost/index.php?id=@session[id]') %>
</div>
<% end %>

espero tu ayuda...
Antes que nada, Rails no es PHP, si venías trabajando con PHP olvídate de la forma en que trabajabas y concentrate en la filosfía de trabajo de Rails. A lo tuyo: no hay necesidad de pasar por la URL el id de sesión en Rails; pero si aún así lo quieres hacer, tu error (aparte de colocar la URL como PHP ) es que la variable debe encerrarla entre #{@tu_variable} siempre que esta se encuentre dentro de una cadena; o concatenarla de la siguiente manera: "una cadena" + @tu_variable, si tu_variable es del tipo string; o "una cadena" + @tu_variable.to_s, si tu variable no es del tipo string (.to_s la vuelve string)

Bienvenido al mundo Rails
__________________
--------------------
William Wong Garay
YoLaVi
  #4 (permalink)  
Antiguo 28/05/2007, 22:42
 
Fecha de Ingreso: enero-2006
Mensajes: 48
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Problema al crear una variable dentro de un controlador.

Cita:
Iniciado por alaynsync Ver Mensaje
Código:
class SayController < ApplicationController
  def Hello
     @time = Time.now
  end
end
(...)

Bien, en el navegador solo se ve la fecha actual es . Obviamente algo no esta funcionando bien.
Comprueba el nombre del método Hello, no debería empezar por mayúsculas.
__________________
------------------------------
http://www.sobrerailes.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:34.