2015-02-26 2 views
0

Я начал экспериментировать с построения ИПН с рельсами, что я заинтересован в получении достоверной на момент получения правильные сообщения об ошибках отображаются в зависимости от ошибки при входящем запросеПредоставление различных сообщений об ошибках в формате JSON запросы

Так что на данный момент у меня есть что-то простое

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.

Могу ли я возвращать определенные сообщения в зависимости от того, какая проверка не удалась?

Как бы я подойти к этому

Любая помощь приветствуется

ответ

0

Попробуйте сделать проверку параметров с помощью rails_param жемчужину и перевести их исключение проверки в свой формат JSON.

Смежные вопросы