【发布时间】:2012-06-26 20:58:15
【问题描述】:
每当我尝试使用 image_tag 构建器显示图像时,在我的显示视图中,rails 不会在我的显示视图内的公用文件夹中查找图像...
例如:
<%= image_tag "thumbnails/fish.jpg" %>
会产生这个:
ActionController::RoutingError (No route matches [GET] "/uploads/thumbnails/fish.jpg"):
出于安全原因,我将回形针 Gem 用于我的上传模型,并且 我将上传保存到与公共文件夹不同的文件夹,是的,此显示视图确实出现在上传中控制器...
在我的上传模型中,我使用这一行将上传内容保存到非公共文件夹:
has_attached_file :upload, :path => ":rails_root/:class/:id/:basename.:extension",
:url => ":rails_root/:class /:id/:basename.:extension"
耙路线:
upload GET /uploads/:id(.:format) {:action=>"show", :controller=>"uploads"}
PUT /uploads/:id(.:format) {:action=>"update", :controller=>"uploads"}
DELETE /uploads/:id(.:format) {:action=>"destroy", :controller=>"uploads"}
/download/:id(.:format) {:controller=>"uploads", :action=>"download"}
编辑 注意:如果我明确地创建一个 img 标签并将 src 指向我的图像,它在我的显示视图上工作正常,所以我认为这不是权限问题。
【问题讨论】:
-
图片的确切路径是什么?
-
rails_app/public/images/thumbnails/image.jpg
标签: ruby-on-rails-3 routing get paperclip