我剛剛開始使用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