Как выбрать где идентификатор в направляющих Массива ActiveRecord без исключения

Возможно самая известная лучшая практика является нормализацией базы данных. Этот набор методов позволяет Вам разрабатывать свою базу данных так, чтобы были удалены избыточные объекты, и поля сгруппированы логически.

126
задан Jakub Arnold 17 September 2009 в 23:12
поделиться

2 ответа

Если вы просто избегаете исключения, которое вас беспокоит, семейство функций "find_all_by .." работает, не бросая исключения.

Comment.find_all_by_id([2, 3, 5])

будет работать, даже если некоторые из идентификаторов не существуют. Это работает и в случае

user.comments.find_all_by_id(potentially_nonexistent_ids)

.

Обновление: Rails 4

Comment.where(id: [2, 3, 5])
202
ответ дан 24 November 2019 в 00:50
поделиться

Чтобы исключения не убивали ваше приложение, вы должны перехватывать эти исключения и обрабатывать их так, как вы хотите, определяя поведение вашего приложения в тех ситуациях, когда идентификатор не найден.

begin
  current_user.comments.find(ids)
rescue
  #do something in case of exception found
end

Вот дополнительная информация об исключениях в ruby.

1
ответ дан 24 November 2019 в 00:50
поделиться
Другие вопросы по тегам:

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