gpt4 book ai didi

ruby-on-rails - 如何允许哈希中的所有值

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

我在 Ruby on Rails 中工作,我正在尝试使用 Ruby 的 permit 函数允许散列中的所有值。这看起来很简单,但我就是无法让它工作。我已经查看了有关许可的引用资料,并回答了这个 SO 问题 how to permit an array with strong parameters .

这是我的代码

PERMITTED_PARAMS = [
:OriginCity,
:OriginState,
{ :PickupDates => {}}
].freeze
params = {"OriginCity"=>"Denver", "OriginState"=>"CO", "PickupDates"=>{"0"=>"2016-09-30"}}
filtered_params = params.permit(PERMITTED_PARAMS)

并且,filtered_pa​​rams 的结果值为

{"OriginCity"=>"Denver", "PickupDates"=>{}}

虽然 filtered_pa​​rams 的期望值是

{"OriginCity"=>"Denver", "PickupDates"=>{"0":"2016-09-30"}}

关于如何通过更改 PERMITTED_PARAMS 获得所需值的任何建议?

最佳答案

您希望允许散列中的所有值,而不是数组,这与您链接到的示例不同。

试试这个:

PERMITTED_PARAMS = [
:OriginCity,
:OriginState
].freeze
params = {"OriginCity"=>"Denver", "OriginState"=>"CO", "PickupDates"=>{"0"=>"2016-09-30"}}
filtered_params = params.permit(PERMITTED_PARAMS).tap do |whitelisted|
whitelisted[:PickupDates] = params[:PickupDates]
end

另请参阅:Strong parameters: allow hashes with unknown keys to be permitted

关于ruby-on-rails - 如何允许哈希中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780412/

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