如何最好地检查是否将必要的参数传递给应用程序?并且在JSON响应中指示错误的最佳方法是什么?
如何最好地检查是否将必要的参数传递给应用程序?并且在JSON响应中指示错误的最佳方法是什么?
使用强参数(Strong Parameters):https://github.com/rails/strong_parameters
直接从 Github 页面获取的信息:
“如果你想确保 params 哈希中存在多个键值对,可以调用该方法两次:”
params.require(:token)
params.require(:post).permit(:title)
然后,再从文档中查找:
“... 在环境文件中设置config.action_controller.action_on_unpermitted_parameters属性。如果设置为:log,则未经许可的属性将被记录;如果设置为:raise,则会引发异常。”
要处理异常,您可以将以下内容添加到应用程序控制器中:
rescue_from 'ActionController::ParameterMissing' do |exception|
render json: { errors: exception.to_s }.to_json, status: 422
end