在Rails控制器中处理必需参数的最佳方法是什么?

3

如何最好地检查是否将必要的参数传递给应用程序?并且在JSON响应中指示错误的最佳方法是什么?

1个回答

6

使用强参数(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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接