如何配置inherited_resources以设置未通过验证的请求的状态



请求验证失败且响应类型为 JSON 时,继承的资源似乎会自动将状态设置为 422。但是,如果响应类型为 html,则状态设置为 200。有没有办法告诉inherited_resources如果验证失败,总是返回 422?

干杯安 迪

这是一个猴子补丁,你可以把它放在你的初始值设定项中(在Rails 4.0.3上测试):

class ActionController::Responder
  def navigation_behavior_with_errors(error)
    if !get? && has_errors? && default_action
      render :action => default_action, status: :unprocessable_entity
      return
    end
    navigation_behavior_without_errors(error)
  end
  alias_method_chain :navigation_behavior, :errors
end

相关内容

  • 没有找到相关文章

最新更新