我已在我的系统上成功设置Paperclip和ImageMagick,文件正确上传,调整大小并保存到正确的文件夹中。
我尝试在我的视图中显示这些图像:
<%= image_tag @customer.logo.url(:medium) %>
不显示图像。当我转到图像的直接网址时,我得到:
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 #index(适用于2010年9月27日04:38:33的127.0.0.1)[G ET] 参数:{“1285570273”=&gt; nil}
ActionController :: RoutingError(没有路由匹配“/images/assets/logos/1/medium/corplogo.jpg”与{:method =&gt;:get}): haml(3.0.15)rails /./ lib / sass / plugin / rack.rb:41:in`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>" }
答案 0 :(得分:3)
我找到了问题的答案,它取决于模型中的url声明。
而不是:
:url => "assets/logos/:id/:style/:basename.:extension"
它应该是:
:url => "/assets/logos/:id/:style/:basename.:extension"
答案 1 :(得分:0)
我使用“webrick”服务器收到此错误。我检查了我的“公共/系统”文件夹上的所有文件访问权限,它们是正常的。
最后我切换到apache / passenger,它工作正常,图像显示正确。