我刚刚开始使用Paperclip,并且遇到了渲染图像的问题。经过一番争吵后,照片保存在正确的目录中,但存在路由/呈现错误:Rails 3&回形针 - 无法渲染图像
ActionController :: RoutingError(No route matches“/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 %>
在它只是返回的图像基本名称,而不是图像本身,任何想法的那一刻?产品在routes.rb中可用作资源,但我是否需要明确地使照片可用?我对Rails也相当陌生,所以苦苦挣扎...
是的,图像是明确保存,并与正确的路径。实际上,我已经尝试设置默认图像,但它仍然显示图像名称,因为默认图像仅在没有图像附加到该对象时才会显示。 – GroundskeeperWillie 2011-03-24 20:39:04