حقول الطابع الزمني ActiveModel: من أين تأتي الطابع الزمني؟

StackOverflow https://stackoverflow.com/questions/1883872

سؤال

في نموذج السكك الحديدية، عند إضافة سجل / محدث، هو الطابع الزمني المقدم لكل ساعة على خادم القضبان أو خادم قاعدة البيانات؟

هل كانت مفيدة؟

المحلول

ACK سريعة من القضبان المصدر يكشف أنه وقت خادم القضبان، كما يعاد من قبل روبي Time.now طريقة:

private
  def create_with_timestamps #:nodoc:
    if record_timestamps
      current_time = current_time_from_proper_timezone

      write_attribute('created_at', current_time) if respond_to?(:created_at) && created_at.nil?
      write_attribute('created_on', current_time) if respond_to?(:created_on) && created_on.nil?

      write_attribute('updated_at', current_time) if respond_to?(:updated_at) && updated_at.nil?
      write_attribute('updated_on', current_time) if respond_to?(:updated_on) && updated_on.nil?
    end

    create_without_timestamps
  end

  def update_with_timestamps(*args) #:nodoc:
    if record_timestamps && (!partial_updates? || changed?)
      current_time = current_time_from_proper_timezone

      write_attribute('updated_at', current_time) if respond_to?(:updated_at)
      write_attribute('updated_on', current_time) if respond_to?(:updated_on)
    end

    update_without_timestamps(*args)
  end

  def current_time_from_proper_timezone
    self.class.default_timezone == :utc ? Time.now.utc : Time.now
  end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top