gpt4 book ai didi

ruby-on-rails - Rails 4 - 带脚手架的强参数 - params.fetch

转载 作者:行者123 更新时间:2023-12-04 15:09:04 25 4
gpt4 key购买 nike

我使用脚手架命令在我的 Rails 4 应用程序中制作我的组件。

最近,设置强参数的方法中使用的术语已从 params.require 更改为 params.fetch ,现在设置中有大括号。

private
# Never trust parameters from the scary internet, only allow the white list through.
def engagement_params
params.fetch(:engagement, {})
end

我找不到任何解释更改或如何使用它的文档。

我还可以在 fetch 命令中写入 params.fetch(:engagement).permit(:opinion) 吗?我不知道如何处理花括号。

如何使用这种新的表达形式完成强参数?

最佳答案

我从未遇到过这种情况,但在这里,我找到了对 fetch 的引用。方法

http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-fetch

Can I still write params.fetch(:engagement).permit(:opinion) into the fetch command?



是的,您仍然可以使用
params.fetch(:engagement).permit(:attributes, :you, :want, :to, :allow)

I don't know what to do with the curly braces.



这是一个默认值,如果键不存在则返回,否则会抛出错误
params.fetch(:engagement)
#=> *** ActionController::ParameterMissing Exception: param is missing or the value is empty: engagement

params.fetch(:engagement, {})
#=> {}

params.fetch(:engagement, 'Francesco')
#=> 'Francesco'

How do I complete the strong params using this new form of expression?


params.fetch(:engagement).permit(:attributes, :you, :want, :to, :allow)

关于ruby-on-rails - Rails 4 - 带脚手架的强参数 - params.fetch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37913911/

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