回形针为所有不同样式设置默认图像

wae*_*218 6 ruby-on-rails paperclip

所以在我的模型中,我的头像有不同的大小:

has_attached_file :avatar,
  :styles => {
    :thumb => "60x60>",
    :small  => "80x80>",
    :medium => "140x140>",
    :large =>   "300x300>"},
  :default_url => "/images/default_avatar.png"
Run Code Online (Sandbox Code Playgroud)

现在,当我打电话时model_instance.avatar.url(:small),如果没有头像,它将返回"/images/default_avatar.png".对于我选择的任何样式,它也会返回相同的结果.

我希望在更改样式时更改默认图像,这样当我调用model_instance.avatar.url(:small)它时应该返回"/images/default_avatar_small.png",如果我调用model_instance.avatar.url(:large)它应该返回"/images/default_avatar_large.png"

如何使回形针为每种样式指定不同的默认头像?

Tom*_*ssi 4

可以:style包含在默认的 url 字符串中,这样您就可以使其动态化:

has_attached_file :avatar,
  :styles => {
    :thumb => "60x60>",
    :small  => "80x80>",
    :medium => "140x140>",
    :large =>   "300x300>"},
  :default_url => "/images/default_avatar_:style.png"
Run Code Online (Sandbox Code Playgroud)