Rails 3 enrutamiento de recursos sin una identificación
Estoy creando una aplicación de blog en Rails 3, y quiero anular la ruta de presentación predeterminada generada para una publicación haciendo
resources :posts, :except => :show
Lo que genera, para la ruta del show (si no lo hubiera excluido),
/post/:id
Quiero que mi ruta se vea así, donde url_title es una cadena generada por mi modelo en before_save, donde elimina caracteres no alfanuméricos y reemplaza espacios con guiones.
/:year/:month/:day/:url_title
Estoy tratando de lograr esto con este bit de código:
match "/:year/:month/:day/:url_title", :to => "posts#show", :as => :post
En teoría, esto debería permitirme llamar a post_path (@post) (donde @post es una instancia de mi clase de publicación), y debería poder ordenar esta ruta, ycas trabajos
El único problema es que intenta sustituir la identificación de la publicación para el año. Los otros campos se completan correctamente. Creo que esto está sucediendo porque los rieles tienen un comportamiento predeterminado que hace que realmente quiera tener la identificación en la url, y no confía en mí para usar mi propio identificador único (post.url_title, en este caso).
Aunque podría estar equivocado sobre eso. ¿Alguien tiene experiencia con este tipo de enrutamiento o sabe qué pasa?