В Ruby on Rails есть ли способ сказать, попробуйте Product.find (12345), но не ошибка, если не найден? - PullRequest
0 голосов
/ 12 января 2011

Например, просто вернуть nil, если не найден, или мы всегда должны использовать begin... rescue... end, чтобы поймать исключение?

Ответы [ 3 ]

2 голосов
/ 12 января 2011

Вы можете использовать

Product.find_by_id (12345)

.Это вернет ноль, а не ошибку.

Спасибо ....

0 голосов
/ 12 января 2011

Вы можете сначала протестировать его с Product.exists? (12345)

0 голосов
/ 12 января 2011

Вы можете использовать rescue_from, чтобы указать метод для обработки исключения.Если это то, что используется в нескольких местах, это поможет удалить дублирование.Вы даже можете поместить его в контроллер приложения, если он используется на разных контроллерах.Вот несколько примеров: http://m.onkey.org/rescue-from-dispatching

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...