Supponiamo di voler avere un blog con Rails 3 sul mio sito Web e sarà l'unica cosa che ho su di esso. Vorrei utilizzare Rails per implementarlo, ma non mi piacciono gli URL prodotti da Rails. Vorrei URL simile a questo:Rails 3 URL senza nome controller
example.com/2012/05/10/foo
Non voglio una cosa del genere, che io so come fare (con to_param):
example.com/entries/2012/05/10/foo
ho ancora voglia di usare il aiutanti come
new_entry_path(@entry) # -> example.com/new
entry_path(@entry) # -> example.com/2012/05/10/foo
edit_entry_path(@entry) # -> example.com/2012/05/10/foo/edit
destroy_entry_path(@entry)
form_for(@entry)
link_to(@entry.title, @entry)
e così via. Ho poi avrò commenti e voglio renderli accessibili come le proprie risorse anche, come
example.com/2012/05/10/foo/comments/5
e tali URL dovrebbe anche essere possibile ottenere con gli aiutanti normali:
edit_entry_comment_path(@entry, @comment) # -> example.com/2012/05/10/foo/comments/5/edit
o qualcosa come quello.
Quindi è possibile ottenere URL senza il nome del controller e utilizzare ancora i metodi di supporto url? Basta sovrascrivere to_param per cambiare sempre la parte dopo il nome del controller nell'URL. Sarebbe davvero utile avere qualche codice di esempio.
Perché è stato votato? È la risposta corretta ... – jaredonline
Sì, sto cercando di risolverlo da solo - e non solo uno, ma due! Forse è un'obiezione all'apparente abbozzamento della soluzione (vedo intuizione che dice che i percorsi sarebbero "// 2012/05/10/foo" con una barra precedente in più), ma sicuramente funziona ed è decisamente molto più facile e più Rails-y che reimplementare manualmente tutti i percorsi pieni di risorse. – Matchu
Sì. Era a -3 quando sono arrivato qui. Forse perché il percorso specificato non ha effettivamente le informazioni/anno/mese/data? – jaredonline