提问人:Samar 提问时间:3/12/2023 更新时间:4/12/2023 访问量:115
纸迹对象更改和轨道枚举
Paper trail object changes and rails enums
问:
我正在一个旧项目中处理版本控制模型。项目中使用的几乎所有枚举值都是整数。使用 object_changes 跟踪更改时,这些值显示为整数,查看此数据的最终用户不清楚这一点。
例如
class Article
has_paper_trail
enum status: {draft: 0, published: 1}
end
记录随对象更改一起保存 有没有办法保存或显示状态键而不是值?status :[0,1]
答:
2赞
Poonam Shah
3/20/2023
#1
您可以使用以下代码获取枚举值的可读形式。
version = Article.first.versions.last
version.changeset["status"]
要更进一步,请迁移数据并定义“status”的枚举,如下所示。
enum status: {draft: :draft, published: :published}
Rails 会将值保存为字符串;因此,其属性必须具有兼容的数据类型。
评论