0
我得到了日期时间filds order_confirmed_at和completion_confirmed_at寻找的宝石,标志日期时间字段
class CoolModel < ActiveRecord::Base
attr_accessible :order_confirmed, completion_confirmed
def order_confirmed
order_confirmed_at.present?
end
def order_confirmed=(state)
if state and order_confirmed_at.blank?
self.order_confirmed_at = Time.now
end
order_confirmed_at.present?
end
def completion_confirmed
completion_confirmed_at.present?
end
def completion_confirmed=(state)
if state and completion_confirmed_at.blank?
self.completion_confirmed_at = Time.now
end
completion_confirmed_at.present?
end
end
...所以在我看来,我可以检查复选框,依次进行确认和完成
事情是:不仅这是重复,但这东西显然看起来很标准。所以在节省时间写宝石:是否有轨道宝石/引擎这样做(或者可能是我不知道的Rails的一部分)??
class CoolModel < ActiveRecord::Base
#something like this
acts_even_coller_on :order_confirmed_at, :completion_confirmed_at
end
让我们说订单已确认5.天前,现在用户更新表单,他还会更新他的时间,当他“确认”订单。换句话说,这将作为updated_at属性,而不是时间跟踪标志。 – equivalent8 2012-08-15 14:14:34
如果您不想覆盖该值,您可以检查该值是否已经设定值? order_confirmed || Time.zone.now:无 – delwynd 2012-08-15 14:21:29
...对于错字抱歉:“也更新他的时间”应该是“也更新order_confirmed_at时间” – equivalent8 2012-08-15 14:22:34