我正在尝试将年份,月份和日期从:date
传递到:start_time
,但我收到以下错误:未定义的方法`values_at'。我想我的方法中没有正确的语法:
def set_start_time_date
self.start_time = date.values_at( :year, :month, :day )
return true
end
before_save :set_start_time_date
这样做的正确方法是什么?
修改:在我的迁移中,:date
为t.date,:start_time
为t.datetime
答案 0 :(得分:0)
尝试:
def set_start_time_date
self.start_time = DateTime.strptime("#{date.strftime} #{event_start.strftime('%H:%M:%S')} #{event_start.zone}", "%Y-%m-%d %H:%M:%S %Z")
return true
end
<强>更新强>
如果您有Date
和Time
对象,则可以创建DateTime
而无需转换为字符串:
def set_start_time_date
self.start_time = DateTime.new(date.year, date.month, date.day, event_start.hour, event_start.min, event_start.sec, event_start.zone)
return true
end