Задать вопрос
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, а не имя модели. А мне нужно чтобы сообщение было идентичным. И я не уверен, что нельзя как-то проще сделать и правильней.

(перевод будет на немецкий, можете кстати перевод правильный подсказать :)
  • Вопрос задан
  • 395 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Code Basics
    Ruby для начинающих
    1 месяц
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
  • Thinknetica
    Микросервисная архитектура на Ruby
    9 недель
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы