编辑ERB中的URL以执行服务器端缩放

时间:2018-03-30 11:04:54

标签: ruby-on-rails

使用以下erb代码

在我的网站博客上呈现图像
<a href="<%= article_url(article)%>">
<img src="<%= article.main_image_url%>" alt="<%= article.title%>" /</a>

主图像网址实际存储在网址的云端 https://s3.ap-south-1.amazonaws.com/mywebsite-dev/uploads/article/main_image/100/wonderful_image__1_.jpg

尺寸为500 X 250像素的缩小版本存储在位置 https://s3.ap-south-1.amazonaws.com/mywebsite-dev/uploads/article/main_image/100/large_wonderful_image__1_.jpg

我的文章模型只保存主图像网址。但是,在将图像上传到s3时,我会创建图像的缩小版本并添加“large_”前缀。这可以在上面的网址示例中看到。

截至目前,我的erb代码在网页上呈现主图像,我需要编辑此代码,以便呈现缩小的图像。基本上,我需要编辑这个

<img src="<%= article.main_image_url%>"

以便erb改变 (以下网址更改为空白客户网站

https://s3.ap-south-1.amazonaws.com/mywebsite-dev/uploads/article/main_image/100/wonderful_image__1_.jpg

到这个

https://s3.ap-south-1.amazonaws.com/mywebsite-dev/uploads/article/main_image/100/large_wonderful_image__1_.jpg

可能我需要将文章网址拆分为'/',取出最后一部分并添加'large_'。

提前感谢您的帮助。我对ROR很新,更多的是python。

此致

1 个答案:

答案 0 :(得分:0)

我明白了。它可能不是一个干净的解决方案,但它现在对我有用。

 <img src="<%= article.main_image_url.rpartition('/').first+'/large_'+article.main_image_url.rpartition('/').last%>" alt="<%= article.title%>" />

感谢所有人