ruby-on-rails - 如何在 Ruby on Rails 中更改数据更改的时间戳
问题描述
我希望在我的 Ruby on Rails 应用程序中更新任何特定字段时进行时间戳更新。
我有一个"dprojects"
表,其中有一列"status"
和"status_date"
。
我该如何做到这一点,以便如果/当状态更新时,status_date
也将更改为最近更新状态的日期?
解决方案
如果状态列被更改,您可以利用 ActiveRecord 的脏属性跟踪来设置状态日期。使用 before_save 回调,然后根据需要设置状态日期:
class MyModel < ActiveRecord::Base
before_save :set_status_date
def set_status_date
self.status_date = Time.now if status_changed?
end
end
推荐阅读
- sql-server - 选择十六进制/字符转换
- python - 无法使用 Celery + Django 在 tasks.py 中导入模型
- angular - 在具有全局验证的字段上显示错误
- uwp - 无法在 VS2017 中加载通用 Windows 平台(UWP - Windows 10)项目
- r - 将因子列转换为具有缺失值的 Numeirc
- matlab - CORDIC算法中的初始点
- java - 了解 Scatter Gather 的企业集成?
- php - str_replace 网址不起作用
- javascript - VizFrame 柱形图的 y 轴刻度为 500m
- r - 映射地理坐标的方法,用于在另一个经度和经度配置文件中标记数据?