Foros del Web » Programando para Internet » Ruby »

Routing Error - No route matches '/xxx' with {:method=>:get}

Estas en el tema de Routing Error - No route matches '/xxx' with {:method=>:get} en el foro de Ruby en Foros del Web. Saludos, Soy novato con Ruby On Rails. Tan novato que llevo poco más de 24 horas con esto, desde que me decidí a montar todo ...
  #1 (permalink)  
Antiguo 15/01/2009, 12:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Routing Error - No route matches '/xxx' with {:method=>:get}

Saludos,

Soy novato con Ruby On Rails.

Tan novato que llevo poco más de 24 horas con esto, desde que me decidí
a montar todo y aprender.

Después de pasar más de 8 horas para montar todo probando primero varias
veces en Windows, posteriormente en Linux y finalmente probando y
montando con éxito de nuevo en Windows, tengo todo preparado para
empezar.

Después de leer infinitud de blogs y manuales para llegar a este punto
encontré el definitivo que me hizo llegar hasta aquí:
http://www.webtutoriales.com/tutoriales/programacion/ruby/instalar-ruby-on-rails-windows.13.html

Una vez en este punto, me decidí a probar este lenguaje y para ello
llegué a otro blog donde había un pequeño manual para empezar:
http://sobrerailes.com/2006/12/07/en_marcha_con_rails/

Todo corre bajo el servidor Webrick y al entrar en http://localhost:3000
todo va bien. Creo mi proyecto 'recetario' como el manual indica, se
crean todos los directorios y ficheros básicos correctamente.

Es entonces cuando el manual habla de las URLs y los Controladores
cuando me surge el problema. El manual manda crear un Controlador de
prueba, llamado 'MiPrueba' y habla de los ficheros que se crean con él.
Hasta ahí todo bien. Pero luego habla de probar a ver que pasa al poner
una dirección en el navegador que no existe, por ejemplo:
http://127.0.0.1:3000/basura/ y el navegador debería devolver:
Cita:
Routing Error
Recognition failed for "/basura/"
El problema es que a mí me devuelve:
Cita:
Routing Error
No route matches "/basura/" with {:method=>:get}
Y esto me da a pensar que las cosas no están llendo como debería. No
obstante he seguida unas lineas más el manual y el siguiente paso es
probar: http://127.0.0.1:3000/Mi_Prueba/
Aquí el resultado debería ser:
Cita:
Unknown Action
No action responded to index
Y mí me sigue pasando lo mismo:
Cita:
Routing Error
No route matches "/Mi_Prueba/" with {:method=>:get}

No entiendo mucho, porque como he dicho soy muy novato con ROR, pero
bajo la intuición he ganado como programador pienso que esto me va a
pasar en todos los casos mientras no lo arregle, por eso no he querido
seguir.
Llevo visitados muchos foros y páginas en busca de información acerca de
este error, pero apenas encuentro algo que me sirva, aunque por lo que
he podido ver parece ser que la solución está en el archivo 'routes.rb',
pero no tengo nada claro que debo cambiar, quitar o poner para
solucionarlo. He abierto el fichero para editarlo y está todo comentado
excepto estas dos lineas:
Cita:
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
Por favor, ¿Alguien sabe la solución o tiene idea de que puede ser?
Gracias
  #2 (permalink)  
Antiguo 16/01/2009, 07:25
 
Fecha de Ingreso: septiembre-2006
Mensajes: 116
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Routing Error - No route matches '/xxx' with {:method=>:get}

hola NeoOrion creo que la solución a tu problema es simple te falta decirle a rails como llegar a Miprueba

simplemente tienes que poner en el router map.resources "nombre-del-comtrolador"

map.resources Miprueba

cuando pongas http://127.0.0.1:3000/Mi_Prueba/ deberia ir al index de mi prueba

para llegar a basura ya tienes que hacer algo mas elaborado

en principio para rails una vez que pongas map.resources tu contrador ya puedes trabajar con funciones como index, new, create, edit porque rails reonoce esas funciones y no tienes que incluir nada en la ruta.

en el caso de basura rails no la conoce (no esuna función suya propia) asi que tienes que decirle como llegar hasta ella

depende de tu funcion deberias incluir :collection o :menber => {:basura=>:post o :get} en la ruta, asi que te quedaria algo como


map.resources Miprueba, :collection => {:basura=>:get}
esto es bastante avanzado si llevas poco timepo con rails te recomiendo algo mas simple
como esto

http://www.vicentgozalbes.com/2008/2...-de-15-minutos

y en general esa página que esta muy bien

http://www.vicentgozalbes.com/rails

espero te sea útil
  #3 (permalink)  
Antiguo 16/01/2009, 07:32
 
Fecha de Ingreso: septiembre-2006
Mensajes: 116
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Routing Error - No route matches '/xxx' with {:method=>:get}

hola NeoOrion creo que la solución a tu problema es simple te falta decirle a rails como llegar a Miprueba

simplemente tienes que poner en el router map.resources "nombre-del-comtrolador"

map.resources Miprueba

cuando pongas http://127.0.0.1:3000/Mi_Prueba/ deberia ir al index de mi prueba

para llegar a basura ya tienes que hacer algo mas elaborado

en principio para rails una vez que pongas map.resources tu contrador ya puedes trabajar con funciones como index, new, create, edit porque rails reonoce esas funciones y no tienes que incluir nada en la ruta.

en el caso de basura rails no la conoce (no esuna función suya propia) asi que tienes que decirle como llegar hasta ella

depende de tu funcion deberias incluir :collection o :menber => {:basura=>:post o :get} en la ruta, asi que te quedaria algo como


map.resources Miprueba, :collection => {:basura=>:get}
esto es bastante avanzado si llevas poco timepo con rails te recomiendo algo mas simple
como esto

http://www.vicentgozalbes.com/2008/2...-de-15-minutos

y en general esa página que esta muy bien

http://www.vicentgozalbes.com/rails

espero te sea útil
  #4 (permalink)  
Antiguo 19/01/2009, 02:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Routing Error - No route matches '/xxx' with {:method=>:get}

Cita:
Iniciado por maitep Ver Mensaje
hola NeoOrion creo que la solución a tu problema es simple te falta decirle a rails como llegar a Miprueba

simplemente tienes que poner en el router map.resources "nombre-del-comtrolador"

map.resources Miprueba

cuando pongas http://127.0.0.1:3000/Mi_Prueba/ deberia ir al index de mi prueba

para llegar a basura ya tienes que hacer algo mas elaborado

en principio para rails una vez que pongas map.resources tu contrador ya puedes trabajar con funciones como index, new, create, edit porque rails reonoce esas funciones y no tienes que incluir nada en la ruta.

en el caso de basura rails no la conoce (no esuna función suya propia) asi que tienes que decirle como llegar hasta ella

depende de tu funcion deberias incluir :collection o :menber => {:basura=>:post o :get} en la ruta, asi que te quedaria algo como


map.resources Miprueba, :collection => {:basura=>:get}
esto es bastante avanzado si llevas poco timepo con rails te recomiendo algo mas simple
como esto

http://www.vicentgozalbes.com/2008/2/25/como-programar-un-blog-en-m-as-de-15-minutos

y en general esa página que esta muy bien
http://www.vicentgozalbes.com/rails

espero te sea útil
Muchas gracias maitep, preguntando en otros sitios también me dijeron que estaba haciendo un tutorial de versiones de ruby on rails ya un poco anteriores a las nuevas. Ya he conseguido hacerlo andar y montar el famoso blog de 15 minutos.
De todas formas echaré un vistazo a la página que me has dicho.
Gracias de nuevo :)
  #5 (permalink)  
Antiguo 05/02/2009, 02:51
Avatar de miguel4ngel  
Fecha de Ingreso: febrero-2009
Mensajes: 17
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Routing Error - No route matches '/xxx' with {:method=>:get}

Tenia el mismo problema, yo programo en RoR desde Netbeans el hace casi todo mejor decir todo! luego vi el archivo de la ruta osea route y me di cuenta que hay defines el controlador+vista por defecto eso me gusto ya que si queria misitio.com/usuarios solo defines eso en routes luego al colocar misitio.com va directo a lo definido..!
  #6 (permalink)  
Antiguo 26/01/2011, 12:38
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Routing Error - No route matches '/xxx' with {:method=>:get}

podrias ser mas especifico en esa parte que comentas de la ruta, que hay que poner para direccionar la pagina

gracias
  #7 (permalink)  
Antiguo 28/01/2011, 22:41
Avatar de uokesita  
Fecha de Ingreso: enero-2008
Ubicación: Maracaibo
Mensajes: 214
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: Routing Error - No route matches '/xxx' with {:method=>:get}

A las personas que esten comenzando con RoR les recomiendo iniciar con un microframework como sinatra, luego seguir con padrinorb y luego RoR en orden de complejidad ese debería ser el camino
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 16:14.