2012-06-03 2 views
0

Я вижу много исключений из приложения - которое было преобразовано с сайта электронной коммерции на полке - год назад, когда паук попадает в маршруты, которые больше не существовать. Их не так много, но иногда их поражают различные пауки несколько раз в день. Я заблокировал худших нарушителей (главным образом, пауков для мусора), но я не могу блокировать Google и Bing, очевидно. Слишком много URL-адресов для удаления вручную.Работа с ошибками в приложении rails, создаваемом пауками

Я не уверен, почему приложение не возвращает код 404, я предполагаю, что один из маршрутов ловит URL-адрес и пытается сгенерировать представление, но поскольку ресурс отсутствует, он возвращает nil, что это то, что бросает ошибки. Как это:

undefined method `status' for nil:NilClass 
app/controllers/products_controller.rb:28:in `show' 

Опять же, именно этот продукт нет, поэтому я не знаю, почему приложение не возвращает страницу 404, вместо этого он пытается сформировать мнение, даже если ресурс не существует , он проверяет, что ресурс nil имеет общедоступный статус, и возникает ошибка.

Если я спасаю от Активных: Запись не найдена, будет ли это делать? Это трудно проверить, так как я должен ждать, пока будут разные боты.

У меня также есть проблемы с некоторыми ссылками, которые полагаются на файл cookie для отслеживания, и если cookie не установлен, приложение устанавливает его перед обработкой запроса. Похоже, что это не работает с пауками, и я установил эти ссылки на ссылки nofollow, но это не похоже на честь всех пауков.

ответ

0

Для вашего первого вопроса о странице 404.

Посмотрите на this post, я уверен, что это поможет вам.