0

私は、ユーザーの作業時間を追跡し、このデータからグラフィックを生成するアプリに取り組んでいます...
彼らは今日開始して明日それを完了することができることを念頭に置いて、保存することはできませんDate.. . 今では、整数フィールドのようなものを保存していhoursますminute...
この種の問題に対処するのに役立つ方法 (宝石など) はありますか?
または他のアプローチ?
ありがとう

Atendimento必要なすべてのデータを含む私のクラス

class Atendimento < ActiveRecord::Base
  attr_accessible :horas, :minutos, :empresa, :tipo_atendimento, :observacao, :empresa_id, :tipoatendimento_id

  belongs_to :empresa
  belongs_to :tipo_atendimento, :foreign_key => 'tipoatendimento_id'
  belongs_to :usuario

  validates :horas, :minutos, presence: true
end
4

3 に答える 3

1

イベントの開始タイムスタンプと終了タイムスタンプを追跡するために、データベースに2つの日時列を追加します。次に、2つの値を引くだけで、経過時間を取得できます。

于 2012-09-18T15:01:36.930 に答える
1

3 つのフィールドの代わりに、開始時刻と終了時刻をタイムスタンプとして追加する必要があります。次の行を移行ファイルに追加することで、これを行うことができます。

add_column :tasks, :started_at, :timestamp
add_column :tasks, :ended_at, :timestamp

モデルでは、これらのタイムスタンプを計算に使用できます。

class Task < ActiveRecord::Base
  attr_accessible :started_at, :ended_at
  validates :started_at, presence: true
  validates :ended_at, presence: true

  # Returns the duration of the task in seconds
  def duration
    ended_at - started_at
  end
end
于 2012-09-18T15:06:35.617 に答える
0

作業時間を秒単位で保存しました:)

于 2012-09-29T14:10:06.600 に答える