呈现不同的错误消息JSON请求

时间:2015-02-26 15:30:29

标签: ruby-on-rails json

我已经开始尝试使用Rails构建API,我现在感兴趣的是获取正确的错误消息,这取决于传入请求的错误。

所以目前我有一些简单的事情

def create  
  @component = Component.new(component_params)
    if @component.valid?
      @component.save
      render json: { message: 'Successfully Created Component' }, status: :ok
    else
      render json: { error: 'Unable to create Component' }, status: :unprocessable_entity
   end
end 

def component_params
  json_params = ActionController::Parameters.new(JSON.parse(request.body.read))
  json_params.require(:component).permit(:component_name)
end

在我的模型中进行验证

validates :component_name, presence: true

我想知道的是,如果邮寄请求包含无效参数component_name_invalid=invalid

,该怎么办?

目前这只会返回错误unable to create component,但我想更具体一点,并说unpermitted parameter supplied

我可以根据验证失败的原因返回特定消息吗?

1 个答案:

答案 0 :(得分:0)

尝试使用rails_param gem进行参数验证,并将验证异常转换为JSON格式。