2010-09-28 4 views
5

Can Rails analysiert automatisch eine Datetime, die vom Text_Feld eines Formulars empfangen wurde.Can Rails analysiert automatisch Datumswerte aus dem Formular text_field

# in view 
<div class="field"> 
    <%= f.label :created_at %><br /> 
    <%= f.textfield :created_at %> 
</div> 

# in controller 
params[:product][:updated_at].yesterday 

Derzeit bin ich Fehler erhalten folgende:

undefined method `yesterday' for "2010-04-28 03:37:00 UTC":String 
+3

Bitte zeigen Sie uns Ihren aktuellen Code an. –

+0

+1 für @ Ryan's Anfrage. Es wird schwierig sein, Ihnen ohne wirklichen Code zu helfen – marcgg

Antwort

1

Wenn Sie diese param in ein Modell direkt setzen, da die Schienen vorformulierten Code-Generator der Fall ist, nimmt ActiveRecord Sorge, dass für Sie

def create 
    @product = Product.new(params[:product]) 
    @product.updated_at.yesterday #will succeed 
    #rest of method 
end 

Anders als das Sie mit etwas stecken geblieben sind wie:

DateTime.parse(params[:product][:update_at]) 

oder

DateTime.civil_from_format(:local, year, month, day, hour, minutes, seconds) 

Aber meiner Erfahrung .civil_from_format nicht funktioniert, wie Sie mit der Sommerzeit erwarten würde.

Verwandte Themen