我正在将Paperclip与我的Rails 3.0应用程序一起使用,以便向用户添加头像,并且由于路径已关闭,因此无法保存图像。这是我得到的:
在2012-04-11 23:38:29 -0700开始获取127.0.0.1的“/profilepics/small/missing.png”
ActionController :: RoutingError(没有路由匹配“/profilepics/small/missing.png”):
我的用户模型有:
has_attached_file :profilepic, :styles => { :small => "150x150>" }
我应该放置什么:path => &安培; :url => ?
表格如下:
<% form_for @user, :html => { :multipart => true } do |f| %>
<%= f.file_field :profilepic %>
<% end %>
日志看起来像:
在2012-04-12 00:33:51 -0700开始获取127.0.0.1的“/system/profilepics/small/missing.png”
ActionController :: RoutingError(没有路由匹配“/system/profilepics/small/missing.png”):
在救援/布局(1.2ms)内呈现/usr/lib/ruby/gems/1.9.1/gems/actionpack-3.0.12/lib/action_dispatch/middleware/templates/rescues/routing_error.erb
答案 0 :(得分:3)
参见我的样本:
has_attached_file :avatar, :styles => { :thumb => "50x50#", :large => "1000x1000>", :medium => "200x200#" },
:default_url => "/system/avatars/:style/missing.png",
:url => "/system/:attachment/:id/:style_:filename",
:path => ":rails_root/public/system/:attachment/:id/:style_:filename"
然后你可以这样显示你的图像:
<%=image_tag(@user.avatar.url(:thumb))%>
<%=image_tag(@user.avatar.url(:medium))%>
答案 1 :(得分:1)
立即行动!!!
对于那些在同一问题上挣扎的人来说,这里有一些重要的事情要始终确认并检查:
在您的表单中,请始终指定 {:multipart =&gt; true} 否则,表单不会接受文件附件。
<%= form_for @user, :html => **{ :multipart => true }** do |f| %>
在您的user.rb(或您想要添加附件的任何型号)中,点击 attr_accessible:照片(或您为附件命名的任何内容)
安装新Gem后,务必重新启动服务器。
:)谢谢大家!!!!
答案 2 :(得分:0)
如果您只想显示图像,则无需提供网址和路径选项。
在显示页面中使用此行,它将显示图像...
<%=image_tag(@user.profilepic.url(:small))%>
享受..............