Проблема с просмотром фотографий в Paperclip — ошибка маршрутизации

Я успешно настроил Paperclip и ImageMagick в своей системе, и файлы правильно загружаются, изменяются в размере и сохраняются в нужных папках.

Я пытаюсь отобразить эти изображения в моем представлении:

<%= image_tag @customer.logo.url(:medium) %>

Изображение не отображается. Когда я перехожу к прямому URL-адресу изображения, я получаю:

Routing Error
No route matches "/images/assets/logos/1/medium/corplogo.jpg" with {:method=>:get}

Это локальный сервер, который все еще находится в разработке и работает на Windows. Мои формы состоят из нескольких частей:

<% form_for @customer, :url => {:action => "update", :id => @customer}, :html => {:multipart => true, :id => "myform"} do |f| %>

------ Сервер разработки ------

Обработка ApplicationController#index (для 127.0.0.1 на 27.09.2010 04:38:33) [G ET] Параметры: {"1285570273"=>nil}

ActionController::RoutingError (маршрут не соответствует «/images/assets/logos/1/medium/corplogo.jpg» с {:method=>:get}): haml (3.0.15) rails/./lib/sass/plugin /rack.rb:41:по звонку

Рендеринг спасения/макета (not_found)

------ Модель ------

has_attached_file :logo,
    :url => "assets/logos/:id/:style/:basename.:extension",
    :path => ":rails_root/public/assets/logos/:id/:style/:basename.:extension",
    :styles => {:medium => "300x300>", :thumb => "100x100>" }

person sscirrus    schedule 27.09.2010    source источник
comment
Три вещи, которые нужно проверить: определен ли размер :medium в настройках скрепки? есть ли изображение по указанному пути? ты перезапустил свой сервер?   -  person dombesz    schedule 27.09.2010
comment
Можете ли вы показать всю отладку вашего сервера разработки, пожалуйста?   -  person tommasop    schedule 27.09.2010
comment
@dombesz - :medium определен в настройках, изображение находится в нужном месте, и я перезапустил сервер. :)   -  person sscirrus    schedule 27.09.2010
comment
@tommasop - я добавил данные выше. Спасибо   -  person sscirrus    schedule 27.09.2010
comment
Можете показать has_attached_file декларацию?   -  person Voldy    schedule 27.09.2010
comment
@Voldy - я добавил объявление.   -  person sscirrus    schedule 27.09.2010


Ответы (2)


Я нашел ответ на проблему, и он заключается в объявлении URL-адреса в модели.

Вместо:

:url => "assets/logos/:id/:style/:basename.:extension"

должен быть:

:url => "/assets/logos/:id/:style/:basename.:extension"
person sscirrus    schedule 27.09.2010

Я получил эту ошибку, используя сервер "webrick". и я проверяю все права доступа к файлам в моей папке «public/system», они в норме.

наконец-то перешел на apache/passenger, работает, картинки отображаются корректно.

person Siwei    schedule 17.03.2012