1

我正在尝试从 to 传递年、月和日期:date:start_time但出现以下错误:undefined method `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

4

1 回答 1

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

更新:

如果你有DateTime对象,你可以创建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
于 2013-08-22T04:25:10.377 回答