Rails 3 & paperclip - не рендеринг изображений - PullRequest
0 голосов
/ 24 марта 2011

Я только что начал использовать Paperclip сегодня и у меня проблемы с получением изображений для рендеринга. После некоторой суеты фотографии сохраняются в правильном каталоге, но возникает ошибка маршрутизации / рендеринга:

ActionController :: RoutingError (маршрутов не найдено) /public/system/products/19/original/puppies-3.jpg")

Однако изображения определенно сохраняются в правильном каталоге. Это то, что в моей модели продукта:

class Product < ActiveRecord::Base

validates :title, :presence => true
validates :description, :presence => true
validates :category, :presence => true
validates_attachment_presence :photo
validates_attachment_size :photo, :less_than => 5.megabytes

attr_accessible :photo, :photo_file_name, :photo_content_type, :photo_file_size,    :photo_updated_at
attr_accessible :title, :description, :category, :price

has_attached_file :photo, :styles => { :small => "150x150>", :large => "400x400>" },
                :path => ":rails_root/public/system/products/:id/:style/:basename.:extension", 
                :url  => "/system/products/:id/:style/:basename.:extension"
end

Это на мой взгляд:

<%= image_tag @product.photo.url %>

В данный момент это просто возвращает базовое имя изображения вместо самого изображения, есть мысли? Продукты доступны в качестве ресурса вways.rb, но нужно ли как-то явно делать фотографии доступными? Я также довольно новичок в Rails, поэтому немного борюсь ...

Ответы [ 2 ]

0 голосов
/ 25 марта 2011

Все в порядке, я исправил это. Я оставил в своей форме поле с именем photo_file_name, когда не смог получить файлы для сохранения и пытался вручную переопределить его, чтобы заставить его работать ( face-palm ). Удивительно, сколько ясности приходит после нескольких часов сна.

0 голосов
/ 24 марта 2011

Вы уверены, что к продукту с таким идентификатором прикреплено изображение? Я думаю, что некоторые из ваших продуктов не имеют прикрепленных изображений, но вы все еще ищете их. Может быть, попытаться установить default_url. Примерно так:

has_attached_file :photo, :default_url => "/images/missing.png"

Это покажет, что изображение установлено в default_url для продуктов, к которым не прикреплены изображения.

...