"✓", "authenticity_token"=>"sjfsj", "user"=>{"name"=>"Joe", "-6ren">
gpt4 book ai didi

ruby-on-rails - 如何将数据库中缺少的参数字段合并到 rails 中的参数哈希

转载 作者:太空宇宙 更新时间:2023-11-03 17:44:29 24 4
gpt4 key购买 nike

假设应用程序接收到这样的参数哈希

 Parameters: {"utf8"=>"✓", "authenticity_token"=>"sjfsj", "user"=>{"name"=>"Joe", "mobile"=>"12345678"}, "commit"=>"Save Changes"}

这是用户模型

{name: "value", mobile: "value", email: "value", many_others: "other_values" }

我想做的是创建一个新散列,其中包含所有字段(params + missing_fields_from_db)。因此,如果参数有一些缺失的键,它将从模型中获取并添加到新的哈希中。

像这样:

{name: "Joe", mobile: "12345678", email: "value", many_others: "other_values" }

ruby || 中是否有可用的方法? rails ?

谢谢

最佳答案

您正在寻找 Hash#mergeHash#reverse_merge .区别:

a = { foo: 1, bar: 2, baf: 3 }
b = { foo: 2, bar: 1, baz: 1 }
a.merge(b)
#=> {:foo=>2, :bar=>1, :baf=>3, :baz=>1}
a.reverse_merge(b)
#=> {:foo=>1, :bar=>2, :baz=>1, :baf=>3}

请注意,Hash#merge 是纯 Ruby 方法,Hash#reverse_merge 来自 Rails。

关于ruby-on-rails - 如何将数据库中缺少的参数字段合并到 rails 中的参数哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42904382/

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