如何使两个分离的字段可以处理为数据库中的一个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"
您可以使用虚拟属性和回调(这还没有经过测试,但您应该了解这个想法)
# 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