Rails 3.2+Ruby 1.9.3,使用 huacnlee 推荐的 paperclip 上传图片,代码如下: model:
has_attached_file :avatar,
default_style: :s120,
style: {
normal: "180x180#",
s120: "120x120#",
s48: "48x48#",
s32: "32x32#",
s16: "16x16#"
},
url: "/uploadimages/:class/:attachment/:id/:style.:extension",
path: ":rails_root/public/uploadimages/:class/:attachment/:id/:style.:extension"
选择图片上传的页面:
<%= f.file_field :avatar %>
显示图片的页面:
<%= image_tag(@user.avatar.url(:s120)) %>
如此设置之后,能够上传图片到 public 对应的目录下,但有两个问题。 1、上传的图片默认命名为 original.png,但在显示页面上调用的是 s120 这个规格,后台会报错 No route matches [GET] "/uploadimages/users/avatars/6/s120.png" 2、我的操作系统是 openSUSE 12.3,并且已经安装了 ImageMagic,但是上传的图片并没有调整成 120x120。