2014-04-21 65 views
0

在一種形式的用戶也可以指定例如日期21.04.2014採取的日期,但與實際時間有時間

所以當POST請求被髮送到軌道的應用程序,保存後還存在在請求中提供的數據created_at

post[text]:"First Message" 
post[created_at]:21.04.2014 

所以在最後的消息被保存。現在,當我試圖讓created_at的消息:

Message.find(1).created_at 
>> 2014-04-21 00:00:00 

,但我想,時間對應於當創建消息的實際時間,所以在輸出中必須是這個樣子:

>> 2014-04-21 19:52:07 

我如何保存郵件以符合我的理念?由於

實際的I保存類似這樣的消息:

@user.message.new(message_params) 

def diagnosis_params 
    params[:message].permit(:created_at, :text) 
end 

回答

1

你可以做這樣的事情:

dt = Date.parse('21.04.2014') 
# => Mon, 21 Apr 2014 

tm = Time.zone.now 
# => Tue, 22 Apr 2014 00:34:07 MSK +04:00 

created_at = DateTime.new(dt.year, dt.month, dt.day, tm.hour, tm.min, tm.sec) 
# => Mon, 21 Apr 2014 00:34:07 +0000 

不是很優雅,但你可以創造一些實用方法...