Rails Tutorial sample_app falla en Heroku con el registro: ActionController :: RoutingError (ninguna ruta coincide con “/ about”):

Estoy siguiendo la versión en línea de Rails Tutorial. La Sample_app en el capítulo 3 funciona bien localmente, pero cuando se envía a Heroku, se encuentra la página de inicio pero no las otras. Ejecutar los registros de heroku después de intentar ver la página Acerca de me da (junto con muchas otras cosas) el error anterior:

2015-08-09T02:56:43.916991+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/about"):

Mi archivo route.rb es

 Rails.application.routes.draw do root 'static_pages#home' get 'static_pages/help' get 'static_pages/about' end 

He seguido las instrucciones cuidadosamente. Intenté borrar y recrear el archivo Heroku. Hice búsquedas en la web y probé algunas cosas en vano. Mi archivo gem es directamente de la versión en línea del libro, que usa versiones actuales.


Resuelto: #thedanotto me hizo ejecutar heroku run rake routes que mostraban que la ayuda y las páginas sobre se dirigían a {root} / static_pages / about en lugar de a {root} / about. Todavía estoy desconcertado de por qué el tutorial ofrece las rutas, que parecen no funcionar como se esperaba, y doy la bienvenida a cualquier comentario adicional, pero estoy marcando esto como resuelto.

Cada vez que no puedo encontrar una ruta, ejecuto el comando de terminal

 rake routes 

Ya que estás en Heroku querrás correr

 heroku run rake routes 

Que devolverá algo similar a lo siguiente.

 Prefix Verb URI Pattern Controller#Action static_pages_about GET /static_pages/about(.:format) static_pages#about 

Así que eso demuestra que puedes ir a www.[heroku_app_name].herokuapp.com/static_pages/about Y te llevará a la página que deseas. También puede agregar un enlace a la página en una vista colocando la siguiente línea de código dentro de una vista.

 <%= link_to("About", static_pages_about_path) %> 

Eso es todo lo que hay que saber. Pero hablemos sobre el uso de la acción del controlador: static_pages#about con la ruta /about

Cambia lo siguiente en routes.rb desde

 get 'static_pages/about' 

a

 get "static_pages/about", path:"/about" 

o alternativamente

 get "/about", to: "rabbits#about" 

Puedes leer más sobre Rutas aquí

Si funciona bien localmente, asumo que ha configurado los controladores, las vistas, etc. correctamente.

¿Te has asegurado de cometer todos los cambios necesarios y luego presionar?

p.ej

 git add . git commit -am "Added route" git push heroku master 

¿Está accediendo a la página acerca de utilizando la siguiente URL? http://YourHerokuAppName.herokuapp.com/static_pages/about

[Reemplace “YourHerokuAppName” con su nombre de aplicación Heroku]