2017-01-28 13 views
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 

答えて

関連する問題