rockysoul
@rockysoul
ruby monkey

Как правильно перевести ексепшен ActiveRecord::RecordNotFound?

Есть такой перехватчик ексепшена:

rescue_from ActiveRecord::RecordNotFound do |exception|
    render json: {
      error: exception.message
    }, status: 404
end


Когда записи с нужным id в базе нет, ActiveRecord возвращает такое сообщение
Couldn't find Event with id=222

Я попытался перевести таким образом
rescue_from ActiveRecord::RecordNotFound do |exception|
    render json: {
      error: error: I18n.t('activerecord.exceptions.not_found', :class_name => self.class.name.demodulize, :id => params[:id])
    }, status: 404
end


На проблема в том, что self.class вовзращает контроллера EventsController, а не имя модели. А мне нужно чтобы сообщение было идентичным. И я не уверен, что нельзя как-то проще сделать и правильней.

(перевод будет на немецкий, можете кстати перевод правильный подсказать :)
  • Вопрос задан
  • 392 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы