新手问题 Rails 3.2 下 paperclip 的两个问题

MIx · 2014年05月18日 · 最后由 MIx 回复于 2014年05月18日 · 2675 次阅读

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。

#1 楼 @leomayleomay 看来深更半夜写代码还是容易出事啊。已解决,感谢! 第一个问题如您所说,代码写错了。 第二个问题需要在 Rails 中配置 convert。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号