【发布时间】:2017-01-28 12:01:04
【问题描述】:
当用户去保存一个活动(下面的模式)时,我想用活动创建(created_at)和更新(updated_at)之间的分钟数更新模型上的列。
架构:
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
activities_controller.rb:
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
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4