1

から年、月、日を渡そうとして: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_timet.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

アップデート:

オブジェクトが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
于 2013-08-22T04:25:10.377 に答える