在一个表单中,用户还必须指定日期,例如21.04.2014
:
因此,当将post请求发送到rails-application时,为了保存帖子,请求中还提供了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
如何保存邮件以符合我的概念?感谢
实际我保存了这样的信息:
@user.message.new(message_params)
def diagnosis_params
params[:message].permit(:created_at, :text)
end
答案 0 :(得分: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
不是很优雅,但你可以创建一些实用方法...