2012-01-24 3 views
1

私はプロジェクトの開始日と終了日を持っています。プロジェクトは複数の目標を持つことができ、各目標は毎日のステータス(成功しているかどうか)を持つ必要があります。これはデータベースの観点からどのようにモデル化できますか?

たとえば、私は"Get in better shape"という名前のプロジェクトが今日始まり、1ヶ月で終了するとしましょう。私は以下の目的を追加します"Run 1 km"。プロジェクトの毎日、私は目的を成功または失敗とマークしたい。私は結果が目的に属する別のモデルでなければならないと考えていました。大雑把に、私はこれを持っている:

Project has_many :objectives 
Objective belongs_to :project 
      has_one :result 
Result belongs_to :objective 

事があり、私も今、それは特定の日を表示することは非常に複雑に感じているので、多分モデルとして日を追加することを考えて(とそれの結果)されました...どういうわけかそれは正しいとは思わないでしょう。

モデルを簡単に表現する方法はありますか?どのように日付の範囲が重要/重要であるアプリケーションを扱っていますか?

答えて

1

私は最近同様のことに取り組んでいました。毎日Resultデータベースにエントリを作成するためにcronを使用すると

Project  has_many  :objectives 
Objective belongs_to :project 
      has_many  :result 
Result  belongs_to :objective 

を:あなたはこのようにそれを設定することができます。 Railsはデフォルトでデータベースにタイムスタンプを設定するので、created_atフィールドを使用して特定の日の結果をフィルタリングします。

whenever gemを使用してcronジョブを設定できます。

関連する問題