oteamento de recursos do @Rails 3 sem um ID
Estou criando um aplicativo de blog no Rails 3 e quero substituir a rota de exibição padrão gerada para uma postagem fazendo
resources :posts, :except => :show
Que gera, para a rota do show (se eu não a tivesse excluído),
/post/:id
Eu quero que minha rota fique assim, onde url_title é uma string gerada pelo meu modelo em before_save, onde remove caracteres não alfanuméricos e substitui espaços por hífens.
/:year/:month/:day/:url_title
Estou tentando fazer isso com este pedaço de código:
match "/:year/:month/:day/:url_title", :to => "posts#show", :as => :post
Em teoria, isso deve permitir que eu chame post_path (@post) (onde @post é uma instância da minha classe post), e deve ser capaz de classificar essa rota equas trabalho
O único problema é que ele tenta substituir o ID da postagem durante o ano. Os outros campos são preenchidos corretamente. Eu acho que isso está acontecendo porque o rails tem algum comportamento padrão que faz com que ele realmente queira ter o ID no URL, e não confia em mim usar meu próprio identificador exclusivo (post.url_title, neste caso).
Eu posso estar errado sobre isso embora. Alguém tem experiência com esse tipo de roteamento ou sabe o que se passa?