Я создал приложение Rails 5 с config.api_only
, установленным в true, и реализовал действие контроллера, которое удаляет запись в модели с областью действия Message
, проблема в том, что когда я пытаюсь удалить несуществующую запись, сообщение об исключении ActiveRecord::RecordNotFound
включает в себя часть запроса SQL, который используется в области; возможно ли исключить это сообщение SQL в сообщении об исключении?
Код модели:
class Message < ActiveRecord::Base
scope(:active) { where(active: true) }
end
Код контроллера
class MessageController < ApplicationController
def delete
message = Message.active.find(params[:id])
begin
message.destroy
head :accepted # 202
rescue ActiveRecord::RecordNotFound => error
render json: { error: error.message }, status: 404
end
end
end
Я ожидаю получить следующий ответ, если отправлю неправильный идентификатор:
{
"error": "Couldn't find Message with 'id'=23444"
}
Но вместо этого я получаю это ошибка:
{
"error": "Couldn't find Message with 'id'=23444 [WHERE \"message\".\"active\" = $1]"
}