gpt4 book ai didi

ruby-on-rails - 在 Rails 4 中使用强参数允许特殊情况下的额外参数

转载 作者:行者123 更新时间:2023-12-01 02:07:30 24 4
gpt4 key购买 nike

所以对于一个组织,我希望用户能够编辑一些关于它的东西。

params.require(:organization).permit(:name, :location)

但在特殊情况下,我希望管理员能够编辑额外的属性
params.require(:organization).permit(:name, :location, :secrets)

现在我知道我可以只用一个 if 语句来选择我想使用的那一行,但是由于管理员总是能够编辑原始属性,我希望能够像这样轻松地包含它们:
permitted = params.require(:organization).permit(:name, :location)
permitted.permit(:secrets) if current_user.admin?

有没有办法链接这样的许可调用?或者我是否必须做一些事情,比如将属性存储在一个数组中并在进行许可调用之前有条件地添加额外的内容?

最佳答案

这似乎是要走的路:

def permitted_params
if current_user.admin?
params.require(:organization).permit(:name, :location, :secrets)
else
params.require(:organization).permit(:name, :location)
end
end

然后使用 permitted_params在您的 Controller 中。

关于ruby-on-rails - 在 Rails 4 中使用强参数允许特殊情况下的额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297655/

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