Year/Month/Day verarbeitung aus URL


#1

Hallöchen,

ich habe folgende Route

map.blog_by_date ‘/blog/:year/:month/:day’, :controller => ‘blog’,
:action => ‘show_date’, :conditions => { :method => :get },
:requirements => { :year => /(19|20)\d\d/,
:month => /[01]?\d/,
:day => /[0123]?\d/
},
:month => nil,
:day => nil

Jetzt suche ich die Lösung wie ich die params als condition verwenden kann.
Wenn alle 3 Parameter angegeben sind ist das recht einfach mit Date.new
aber
sobald nur ein Jahr mit Monat bzw nur ein Jahr angegeben wurde brauche
ich ja einen Range .

Hat jemand hierfür eine elegante Lösung

Gruß Marco


#2

Hi,

Am 24.01.2009 um 10:53 schrieb Marco Scholl:

Jetzt suche ich die Lösung wie ich die params als condition
verwenden kann.
Wenn alle 3 Parameter angegeben sind ist das recht einfach mit
Date.new aber
sobald nur ein Jahr mit Monat bzw nur ein Jahr angegeben wurde
brauche ich ja einen Range .

Generell, es empfiehlt sich bei sowas einen Blick in Mephisto zu
werfen, das funktioniert
es ja ned schlecht.
Mit condition meinst du die Abfrage im Model? Ja, eine Range ist
sinnvoll, ich hab
das die letzten Wochen bei adva_cms in der calendar engine eingebaut,
aber mephisto
dürfte eine bessere Inspiration sein.
beginning_of_month und end_of_month bzw die varianten mit year wirst
du wohl brauchen.

ciao, tom


Thomas R. “TomK32” Koll || http://tomk32.de || http://ananasblau.com
just a geek trying to change the world
Skype: TomK32 || Mail: removed_email_address@domain.invalid
http://flickr.com/people/tomk32