Ruby on rails 如何优雅地处理ActionController::ParameterMissing
我想知道如何优雅地处理错误Ruby on rails 如何优雅地处理ActionController::ParameterMissing,ruby-on-rails,Ruby On Rails,我想知道如何优雅地处理错误ActionController::ParameterMissing,因此它不会返回难看的HTML,而是返回一条消息和与500内部服务器错误不同的内容 如何知道我有这个控制器: class MetricsController < ApplicationController before_action :set_metric, only: [:update] def update if @metric.update(metric_params)
ActionController::ParameterMissing
,因此它不会返回难看的HTML,而是返回一条消息和与500内部服务器错误不同的内容
如何知道我有这个控制器:
class MetricsController < ApplicationController
before_action :set_metric, only: [:update]
def update
if @metric.update(metric_params)
render json: @metric
else
render json: @metric.errors, status: :unprocessable_entity
end
end
private
def set_metric
@metric = Metric.find_by(site: params[:site_id], post_id: params[:post_id])
end
def metric_params
params.require(:metric).permit(:param1, :param2)
end
end
class MetricsController
如果我发送一个请求,而不是一个包含至少一个属性的度量键的json,rails将自动用HTML回复该请求。我想覆盖它。这可能会有帮助
这可能会有帮助
Rails提供了一种拯救控制器中异常的干净方法,将特定的错误类映射到相应的处理程序
从
因此,事实上,你可以使用特拉维斯提到的rescue
或rescue\u
rescue\u from ActionController::ParameterMissing,:with=>:render\u 404
Rails提供了一种拯救控制器中异常的干净方法,将特定的错误类映射到相应的处理程序
从
因此,事实上,你可以使用特拉维斯提到的rescue
或rescue\u
rescue\u from ActionController::ParameterMissing,:with=>:render\u 404
潜在重复:潜在重复:
rescue_from ActionController::ParameterMissing do |e|
render 'something'
end