shallow rails namespace examples concern ruby-on-rails configuration rest routes

ruby-on-rails - namespace - routes rails examples



¿Tienes que meterse con el archivo "routes.rb" de Rails? (4)

Nunca toco routes.rb más allá de llamar a map.root para establecer una ruta predeterminada. Siempre he estado contento de usar las URL del formulario ...

/controller/action/perhaps_an_id

y funciona bien

¿Ésto me hace una mala persona? ¿Me estoy perdiendo algo increíble?

¿Qué sucede si trato de adoptar un diseño RESTful? ¿ routes.rb significaría que tengo que editar routes.rb o podría continuar ignorando gratamente?

(Intenté leer sobre este tema en The Rails Way, pero fue insoportable).


Si fuera RESTful, sí, tendría que editar routes.rb y agregar sus recursos como,

map.resources :your_resource

o si tiene recursos anidados,

map.resources :people do |person| person.resources :ideas do |idea| ideas.resources :bad_ones end end


Si genera sus recursos con el andamio predeterminado, incluso incluirá el enrutamiento relajante para usted en routes.rb.

Si no está utilizando el andamio, entonces la razón por la que funciona es debido a las rutas predeterminadas en la parte inferior de forma predeterminada:

map.connect '':controller/:action/:id'' map.connect '':controller/:action/:id.:format''

He estado siguiendo que es una buena práctica eliminar estos para aplicaciones de producción y en su lugar, asegurarme de que solo se expongan los recursos que deben estar expuestos. Con Rails 2.2 puedes incluso limitar los métodos RESTful de map.resources por:

map.resources :posts, :only => [:index, :show] map.resources :comments, :except => [:edit]

También hay muchísimas cosas interesantes que puedes hacer con recursos anidados, rutas con nombre, etc. Tienen muchos ejemplos en los documentos ( http://www.railsbrain.com/api/rails-2.2.2/doc/index). html? a = M000255 & name = recursos )


También es posible que desee crear rutas personalizadas para su departamento de marketing (por ejemplo: mycoolsite.com/free-trial) que se dirijan a controladores y acciones específicos, etc.

Ryan Bates tiene una serie de screencasts que repasa algunas de las mejores cosas que puedes hacer con las rutas: http://railscasts.com/tags/14


El hecho de no haber cambiado al diseño RESTful no lo convierte en una mala persona y si no necesita cambiar, siga escribiendo sus aplicaciones en el modo 1.x.

La mayoría de los desarrolladores de Rails ha adoptado REST y parece estar muy feliz por ello. No creo que haya una necesidad aquí para repetir todos los argumentos pro REST.

Necesita agregar una línea por recurso a su archivo de rutas, como:

map.resources :posts