start_at と end_at を含むイベント テーブルがあります。また、終日を表すブール値もあります。
イベントが終日である場合、ユーザーは時間というフィールドを入力します。しかし、start_at と end_at を入力すると、時間フィールドに計算して保存したいと思います。
英語 (Ruby ではない):
If event.allday = > true
hours = ends_at - starts_at
このようにして、私が持っているすべての異なる表示ページでそれを計算する必要がなくなり、合計するのが簡単になります.
または - このロジックはモデルに入りますか?
ありがとう!
アップデート - - - - - -
これをモデルに入れてみました:
before_save :calculate_hours
def calculate_hours
if self.allday != true
self.hours = ((self.ends_at - self.starts_at)/ 3600).to_f.round(2)
end
end