gpt4 book ai didi

ruby-on-rails - Rails 4强参数无必填参数

转载 作者:数据小太阳 更新时间:2023-10-29 06:31:33 25 4
gpt4 key购买 nike

我正在使用 Rails 4,但我不知道在没有必需参数的情况下使用强参数的最佳方法是什么。所以,这就是我所做的:

def create
device = Device.new(device_params)
.................
end

private

def device_params
if params[:device]
params.require(:device).permit(:notification_token)
else
{}
end
end

我的设备模型不验证任何东西的存在。我知道我也可以做类似的事情:

device = Device.new
device.notification_token = params[:device][:notification_token] if params[:device] && params[:device][:notification_token]

是否有任何约定或正确的方法来做到这一点?

最佳答案

您可以使用 fetch 而不是 require

def device_params
params.fetch(:device, {}).permit(:notification_token)
end

当参数中不存在设备时,上面将返回空散列

文档 here .

关于ruby-on-rails - Rails 4强参数无必填参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25914514/

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