ruby on rails-如何像处理一个和两个单独的日期和时间字段一样处理



如何使两个分离的字段可以处理为数据库中的一个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

相关内容

  • 没有找到相关文章

最新更新