gpt4 book ai didi

ruby-on-rails - ActiveRecord update_attributes 忽略无效键

转载 作者:数据小太阳 更新时间:2023-10-29 08:05:04 26 4
gpt4 key购买 nike

是否有类似于 update_attributes 的内置方法,可以忽略作为参数传入的散列中的无效键?如果不是,处理向您发送的散列可能包含或不包含有效 key 的情况的最佳方法是什么?

最佳答案

我不知道有什么可以在 Rails 中开箱即用地完成此任务。我也不知道有一种简单的方法可以大致确定模型的“已定义属性”是什么——因为模型可能具有覆盖的 setter 、虚拟属性等。每当我需要此功能时,我只是明确定义类中可接受的符号列表,如下所示:

class Foo < ActiveRecord::Base
def defined_attributes
[ :a, :b, :c ]
end
end

...然后在某种过滤步骤中使用它:

  attrs = { :a => 1, :z => 0 }
foo.update_attributes(attrs.slice(*foo.defined_attributes))

关于ruby-on-rails - ActiveRecord update_attributes 忽略无效键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com