Ruby on rails Rails 4强参数,无所需参数
我使用的是Rails 4,我不知道在没有必需参数的情况下使用强参数的最佳方法是什么。我就是这么做的:Ruby on rails Rails 4强参数,无所需参数,ruby-on-rails,ruby,ruby-on-rails-4,strong-parameters,Ruby On Rails,Ruby,Ruby On Rails 4,Strong Parameters,我使用的是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 我
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
当设备在参数中不存在时,上面将返回空哈希
文档。工作起来很有魅力!谢谢大家!@usha是否有任何问题或安全问题将其保留为
参数许可证(:name,:last_name,:age)
?