Проблема с просмотром фотографий в Paperclip - ошибка маршрутов - PullRequest
1 голос
/ 27 сентября 2010

Я успешно установил 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| %>

------ Dev Server ------

Обработка индекса ApplicationController # (для 127.0.0.1 в 2010-09-27 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: в `call '

Рендеринг спасений / макет (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>" }

Ответы [ 2 ]

3 голосов
/ 28 сентября 2010

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

Вместо:

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

оно должно быть:

:url => "/assets/logos/:id/:style/:basename.:extension"
0 голосов
/ 17 марта 2012

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

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

...