Hallo,
hab schon viel gesucht aber nicht das Richtige gefunden.
Ich uebergebe vom View an den Controller einen Wert der nichts mit einer
Datenbank oder Modell zu tun hat:
Parameters: {"authenticity_token"=>"xxx", "action"=>"datum",
"controller"=>"mitarbeiters", "datum_jetzt"=>"2008-04-29"}
Ich moechte diesen String? datum_jetzt in ein Date Objekt umwandeln um
"+ 1.day" zu rechnen. Bekomme dann diese Fehlermeldung:
undefined method `+' for :datum_jetzt:Symbol
Wie kann ich mit dem uebergebenen Wert vom View weiterarbeiten? Ist er
als String ":datum_jetzt" im Controller?
Danke fuer die Hilfe
Holger
on 29.04.2008 13:12
on 29.04.2008 13:18
Hi Holger datum_jetzt.to_time + 1.day gruß Malte Holger Hänisch schrieb:
on 29.04.2008 13:23
Malte Beran wrote: > Hi Holger > > > datum_jetzt.to_time + 1.day > > gruß Malte > > Holger Hänisch schrieb: Das ist es leider noch nicht. Selbe Fehlermeldung. Ich habe aber so den Verdacht, dass ich was grundsaetzliches nicht verstanden habe. Der Controller sieht so aus: def datum @datum = :datum_jetzt.to_time @datum = @datum + 1.day .... end Holger
on 29.04.2008 13:30
Hi Holger, du musst das auf die variable anwenden und nicht auf ein Symbol!!!! Also so: def datum @datum = datum_jetzt.to_time + 1.day end Vorrausgesetzt die var heisst datum_jetzt! Malte Holger Hänisch schrieb:
on 29.04.2008 13:31
Hi, schau mal hier http://www.ruby-doc.org/core/classes/Date.html parse(str='-4712-01-01', comp=false, sg=ITALY) Create a new Date object by parsing from a String, without specifying the format. str is a String holding a date representation. comp specifies whether to interpret 2-digit years as 19XX (>= 69) or 20XX (< 69); the default is not to. The method will attempt to parse a date from the String using various heuristics; see _parse in date/format.rb for more details. If parsing fails, an ArgumentError will be raised. The default str is ’-4712-01-01’; this is Julian Day Number day 0. sg specifies the Day of Calendar Reform. oder strptime(str='-4712-01-01', fmt='%F', sg=ITALY) Create a new Date object by parsing from a String according to a specified format. str is a String holding a date representation. fmt is the format that the date is in. See date/format.rb for details on supported formats. The default str is ’-4712-01-01’, and the default fmt is ’%F’, which means Year-Month-Day_of_Month. This gives Julian Day Number day 0. sg specifies the Day of Calendar Reform. An ArgumentError will be raised if str cannot be parsed. Gruß Zitat von Holger Hänisch <lists@ruby-forum.com>:
on 29.04.2008 13:33
Hi -- On Tue, 29 Apr 2008, Holger Hänisch wrote: > Das ist es leider noch nicht. Selbe Fehlermeldung. Ich habe aber so den > Verdacht, dass ich was grundsaetzliches nicht verstanden habe. Der > Controller sieht so aus: > > def datum > > @datum = :datum_jetzt.to_time > @datum = @datum + 1.day > .... > end @datum = Time.parse(params[:datum_jetzt]) + 1.day Das Grundsaetzliche daran ist, dass die jeweilige Params dem Controller innerhalb des Params-hash geliefert werden -- bzw. dass man den rohen String ein bisschen kochen muss :-) David
on 29.04.2008 13:37
Hi -- On Tue, 29 Apr 2008, David A. Black wrote: >>> gruß Malte >> @datum = @datum + 1.day >> .... >> end > > @datum = Time.parse(params[:datum_jetzt]) + 1.day Hmmm... eigentlich ist: params[:datum_jetzt].to_time + 1.day deinem Original ein bisschen aehnlicher (und kurzer dazu :-) Hauptsache ist der Params-hash. David
on 29.04.2008 13:58
David A. Black wrote: > Hi -- > > On Tue, 29 Apr 2008, David A. Black wrote: > >>>> gruß Malte >>> @datum = @datum + 1.day >>> .... >>> end >> >> @datum = Time.parse(params[:datum_jetzt]) + 1.day > > Hmmm... eigentlich ist: > > params[:datum_jetzt].to_time + 1.day > > deinem Original ein bisschen aehnlicher (und kurzer dazu :-) > Hauptsache ist der Params-hash. > > > David Danke David, das geht sehr gut. Jetzt habe ich auch wieder was "Grundsaetzliches" verstanden. Holger