原创作者: hideto   阅读:1139次   评论:0条   更新时间:2011-05-26    
一般编辑时间时我们使用datetime_select:
<%= f.datetime_select :due_at %>

如果我们希望用text_field来编辑时间,可以这样做:
<% f.text_field :due_at_string %>

修改Task类:
class Task < ActiveRecord::Base
  def due_at_string
    @due_at_string || due_at.to_s(:db)
  end

  def due_at_string=(due_at_str)
    @due_at_string = due_at_str
    self.due_at = Time.parse(due_at_str)
  rescue ArgumentError
    @due_at_invalid = true
  end

  def validate
    errors.add(:due_at, "is invalid") if @due_at_invalid
end

parse时间我们还可以用chronic这个ruby插件,可以parse "tomorrow"等fancy的东西
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

文章信息

Global site tag (gtag.js) - Google Analytics