0

如何使两个单独的字段可以处理到datetime field数据库中的一个?

我正在使用 jquery 日期时间选择器,它在下面的代码示例中放置值之类的值。

参数仅包括带时间的字段,但忽略带日期的字段。

如果我用时间评论字段,则发送并保存日期,但参数看起来像“2013-23-02”,它不像多参数那样转发。

#model
field :start_at, type: DateTime

#view
= f.text_field :start_at, :value => "2013-02-23"
= f.text_field :start_at, :value => "20:20:20"
4

1 回答 1

2

你可以使用虚拟属性和回调(这未经测试,但你应该明白)

# model
attr_writer :start_at_time, :start_at_date

before_validation :build_start_at

def start_at_date
  @start_at_date ||= start_at.to_date
end

def start_at_time
  @start_at_time ||= start_at.strftime("%H:%M")
end

def build_start_at
  self.start_at = Time.parse "#{start_at_date} #{start_at_time}"
end    

# view
= f.text_field :start_at_date
= f.text_field :start_at_time
于 2013-02-12T12:55:18.440 回答