【发布时间】:2014-07-28 14:53:48
【问题描述】:
所以我要做的是为缩略图制作一个集中裁剪的图像,然后保持原始图像不变,这样我就可以点击缩略图并将用户带到原始图像。
所以在我的模型中我有:
has_attached_file :image,
default_url: "/assets/missing.png",
url: "s3_domain_url",
storage: :s3,
s3_credentials: "#{Rails.root}/config/aws-#{Rails.env}.yml",
s3_permissions: 'authenticated-read',
path: "/users/:id/images/:basename.:extension",
s3_server_side_encryption: :aes256,
styles: { thumb: "200x200#" }
def s3_url(style = nil, expires_in = 30.seconds)
if image.exists?
image.s3_object(style).url_for(:read, :secure => true, :expires => expires_in).to_s
else
"/assets/missing.png"
end
end
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
然后在我的 HTML 中,我得到了:<%= link_to image_tag(@challenge.s3_url(:thumb)), @challenge.s3_url(:original) %>
这应该允许用户点击缩略图,然后将他们带到原始图像。但目前它具有正确的裁剪缩略图,然后当用户单击它时,它会将他们带到裁剪缩略图的更大版本,而不是原始图像。
有什么方法可以做我想做的事吗?
【问题讨论】:
-
如果你尝试
@challenge.s3_url会怎样? -
@MichalSzyndel,我也这样做了,这与 @challenge.s3_url(:original) 基本相同。它仍然像大拇指一样被裁剪,而我想要实际的原始图像。
标签: ruby-on-rails ruby paperclip