我已经开始尝试使用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
。
我可以根据验证失败的原因返回特定消息吗?