Ich habe eine blogs_controller mit einem Blog-Ressource bekam, also habe ich jetzt Ihre typische Routen bekam wie folgt:Der beste Weg, um "/ Blogs /: Jahr /: Monat /: Tag /: Permalink" Routen in Rails zu tun?
/blogs/new
/blogs/1
/blogs/1/edit #etc
Aber hier ist, was ich will:
/blogs/new
/blogs/2010/01/08/1-to_param-or-something
/blogs/2010/01/08/1-to_param-or-something/edit #etc
...
/blogs/2010/01 # all posts for January 2010, but how to specify custom action?
Ich weiß, dass ich kann dies mit einer Kombination aus map.resources und map.connect tun, aber ich habe viele Ansichten, die über "new_blog_path" usw. zu anderen Seiten verlinken, und ich möchte diese nicht bearbeiten müssen. Ist das mit map.resources alleine möglich? Es mag nicht einfach sein, aber ich bin nicht dagegen, clever zu sein. Ich dachte an so etwas wie:
map.resources :blogs, :path_prefix => ':year/:month/:day', :requirements => {:year => /\d{4}/, :month => /\d{1,2}/, :day => /\d{1,2}/}
Aber ich bin mir nicht sicher, wie das funktioniert mit Aktionen wie ‚neu‘ oder ‚schaffen‘, und es gibt mir auch eine Route wie /2010/01/08/blogs/1-to_param-etc
mit Blogs in der Mitte des URL
Also, gibt es eine clevere Lösung, die ich vermisse, oder muss ich die map.connect Route gehen?
Danke Jay, das ist eine _sehr_ nette Beschreibung, die mir heute viel Zeit gespart hat! –
Tolle Erklärung! –
Was wäre die Schiene 3 Version der Route? – sguha