0
ユーザーがアクティビティ(下のスキーマ)を保存するときに、モデルの列をアクティビティの時間作成され(created_at)、更新された(updated_at)。Rails:オブジェクトの保存時に時間差を計算し、整数として保存する
スキーマ: activities_controller.rb
create_table "activities", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "student_id"
t.string "status"
t.integer "user_id"
t.integer "minutes_out"
t.index ["student_id"], name: "index_activities_on_student_id"
t.index ["user_id"], name: "index_activities_on_user_id"
end
:
class ActivitiesController < ApplicationController
before_save :set_minutes_out
...
private
def set_minutes_out
activity.minutes_out = (activity.created_at - activity.updated_at).to_i.abs
activity.save!
end