Foros del Web » Programando para Internet » Ruby »

Problema al capturar parametro de URL

Estas en el tema de Problema al capturar parametro de URL en el foro de Ruby en Foros del Web. hola nose si alguien me pueda ayudar lo que quiero hacer es capturar un parametro que envio por un link_to para realizar acciones en otra ...
  #1 (permalink)  
Antiguo 22/01/2008, 18:29
 
Fecha de Ingreso: enero-2008
Mensajes: 12
Antigüedad: 16 años, 10 meses
Puntos: 0
Problema al capturar parametro de URL

hola nose si alguien me pueda ayudar lo que quiero hacer es capturar un parametro que envio por un link_to para realizar acciones en otra vista con ese valor, pero al capturarlo me sale en blanco y el sql me marca error porque lo utilizo para hacer una consulta en ls vista 2

vista 1 aqui es donde envio el parametrio en seccion_id

Seleccione la seccion:
<table>
<% @secciones.each do |sec| %>
<tr>
<td> <%= link_to sec.nombre, :action => 'busqueda', :seccion_id => sec.id %> </td>
<br/>
</tr>
<% end %>
</table>

controller Maestro -- aqui es donde lo capturo

@sec = params[:seccion_id] <-- parametro que quiero capturar
if request.post?
stringBusqueda = "SELECT * FROM maestros WHERE seccion_id = "+ @sec

vista 2--------------------

<% form_tag do {:action => 'busqueda'} %>
<%= @sec %>
<div id = "BusquedaMaestro" style ="center"
Busqueda por RFC:
<% if @string.blank? && @b %>
class = "fieldWithErrors"
<% end %>
<%= text_field_tag :rfc,params[:rfc], :maxlength => 13 %>
<%= submit_tag 'Buscar'%>
<% end %>
</div>
  #2 (permalink)  
Antiguo 23/01/2008, 12:11
 
Fecha de Ingreso: marzo-2007
Mensajes: 134
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: Problema al capturar parametro de URL

tu vista 2 contiene valores @string, @b ??, en tu controlador solo declaras @sec, además tu stringBusqueda, es una sentencia SQL, creo que mejor deberias hacer tus búsquedas con con una sentencia en ruby como: Maestro.find(:all, :conditions => ["seccion_id = ?", params[:seccion_id]]
de esa forma estas filtrando además cualquier parametro maligno.
__________________
http://www.gritala.net/botones >> Intercambia enlaces con Gritala.net :p

http://www.agregala.com >> Envía tus noticias y gana enlaces y visitas!
  #3 (permalink)  
Antiguo 23/01/2008, 12:41
 
Fecha de Ingreso: enero-2008
Mensajes: 12
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema al capturar parametro de URL

gracias, el problema es que el valor que guardo la primera ves lo optengo de la vista uno. y ese valor lo ocupo nuevamente, para hacer una busqueda en la vista 2, pero al hacer el post, el valor se pierde y me marca error de sql porque en seccion_id el valor que guarde de la vista 1 aparece null... ayudaaa!!! porffaaa
  #4 (permalink)  
Antiguo 23/01/2008, 15:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 134
Antigüedad: 17 años, 8 meses
Puntos: 1
Re: Problema al capturar parametro de URL

Bueno no se si te entiendo muy bien, pero dices que en la segunda vista el valor se pierde, bueno en realidad el valor sigue estando en params[:seccion_id] el problema es que si haces otro post, segun veo tu formulario manda a otra acción 'busqueda' del controlador, al estar dirijiendote a otra accion, vas a tener que pasar nuevamente ese valor, lo puedes hacer de 2 formas, ya que es un formulario, puedes crear un input oculto con el valor que quieres pasar, ej:
Código:
<input  type="hidden" value="valor_oculto" name="secion_id">
O también puedes pasar el valor al declarar tu form_tag:

<% form_tag do {:action => 'busqueda', :seccion_id => @sec } -%>
...
<% end- %>

Espero esto te ayude a solucionar tu problema
__________________
http://www.gritala.net/botones >> Intercambia enlaces con Gritala.net :p

http://www.agregala.com >> Envía tus noticias y gana enlaces y visitas!
  #5 (permalink)  
Antiguo 24/01/2008, 13:08
 
Fecha de Ingreso: enero-2008
Mensajes: 12
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema al capturar parametro de URL

muchas gracias por tu ayuda, he podido resolver mi problema. gracias...
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 03:12.