2010-09-28 12 views
5

से प्राप्त डेटाटाइम को पार्स कर सकते हैं क्या रेल स्वचालित रूप से किसी फ़ॉर्म के टेक्स्ट_फील्ड से प्राप्त डेटाटाइम को पार्स कर सकते हैं?क्या रेल स्वचालित रूप से फॉर्म text_field

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

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

वर्तमान में मैं त्रुटि निम्न मिल रहा हूँ:

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

कृपया हमें अपना वर्तमान कोड दिखाएं। @ रयान के अनुरोध के लिए –

+0

+1। किसी भी वास्तविक कोड के बिना आपकी मदद करना मुश्किल होगा – marcgg

उत्तर

1

आप एक मॉडल में है कि परम लगा रहे हैं सीधे, के रूप में रेल बॉयलरप्लेट कोड करता जनरेटर हैं, तो ActiveRecord आप

के लिए कि का ख्याल रखता है
def create 
    @product = Product.new(params[:product]) 
    @product.updated_at.yesterday #will succeed 
    #rest of method 
end 

है कि आप की तरह कुछ के साथ फंस रहे हैं के अलावा:

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

या

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

लेकिन, जैसा कि आप डेलाइट सेविंग टाइम के साथ उम्मीद थी मेरे अनुभव में .civil_from_format काम नहीं करता।

संबंधित मुद्दे