У меня, по сути, та же проблема, что и у этого спрашивающего: Ошибка маршрутизации скрепки .Сервер выдает 404 для статического файла (который равен присутствует!), Поэтому вызывается Rails, а затем возникает ошибка маршрутизации.
Приложение My Rails 3.1 использует paperclip для прикрепления файлов,но при обслуживании файлов в рабочей среде Rails регистрирует следующую ошибку:
Started GET "/system/images/9/thumb/Large%20image.jpg?1320149338" for [...]
ActionController::RoutingError (No route matches [GET] "/system/images/9/thumb/Large%20image.jpg"):
Соответствует записи в журнале доступа NGINX:
"GET /system/images/9/thumb/Large%20image.jpg HTTP/1.1" 404 728 "-" [...]
Итак, несколько замечаний:
- Этого не было в прошлом, и прошлые изображения с почти идентичными URL-адресами все еще работают , например:
/system/images/1/thumb/StoneSkimming%20Demyhb%20Art%203.jpg
обслуживается правильно. - Файлы изображений были загружены, и преобразован ImageMagick, правильно - я проверил, что все ожидаемые файлы находятся в нужном месте и являются допустимыми JPEG-файлами с правильным изображением в них.
- Разрешения для файлов все, как и ожидалось, и соответствуютфайлы, которые все еще работают.
- Записи в базе данных для соответствующей модели выглядят корректно.
- Добавление / удаление строки запроса или размещение URL-адреса непосредственно в браузере дает то же самоерезультат в виде встроенного тега
<img>
: изображение не найдено.
Может кто-нибудь указать мне правильное направление здесь?У меня возникают проблемы с разработкой, как проверить / отладить это, потому что ошибка не универсальна для всего приложения.
Я использую Capistrano для развертывания, поэтому /public/system
является символической ссылкой на общий каталог.Мой инстинкт заключается в том, что это не проблема, поскольку старые изображения в том же месте работают просто отлично.