我想通常访问模型中已更改的旧属性 - 也就是说,我想获取旧属性值的哈希值。我的代码对所有已更改的属性感兴趣,每次运行时都可能是不同的集合。
我知道您可以使用
获取一系列已更改的属性名称model.changed
我知道你可以做到
model.attribute_was
如果您知道名称,则获取属性的旧值,但我找不到以编程方式组合两者的方法,或以其他方式获取旧值的集合
我用它来创建有关对象的新闻报道,例如
用户'Bob'将x从a更改为b
答案 0 :(得分:1)
您可以使用属性hash生成此数组:
old = model.changed.map{|attr| model.send("#{attr}_was".to_sym) }