我使用paperclip获取此路径/system/papers/articles/000/000/024/original/data.png?1404191431
。但是在扩展名(.png)后我可以得到一个数字,我不知道为什么..
所以我想清除.png
之后的所有文字,包括?。
我如何在ruby中完成?
我需要该链接的原因是因为我需要使用ImageMagick向其添加元数据,目前我无法做到随机数的原因。
另外,如果可能的话,我想知道为什么这个数字是由回形针打印的,因为我看到的,数字没有保存在数据库中,也没有保存到图像名称..
答案 0 :(得分:3)
您可以使用URI
类:
require 'uri'
str = '/system/papers/articles/000/000/024/original/data.png?1404191431'
URI.parse(str).path
#=> "/system/papers/articles/000/000/024/original/data.png"
关于comment:
...我尝试使用
获取存储图像的路径@record.article.url
您可以使用.path
代替.url
来获取文件的绝对路径:
@record.article.path
#=> "/path/to/project/public/system/papers/articles/000/000/024/original/data.png"
答案 1 :(得分:2)
使用[]
和正则表达式在匹配的模式上“分配”一个空字符串。
str = '/system/papers/articles/000/000/024/original/data.png?1404191431'
str[/\?\d+$/] = ''
可能会添加此数字以用于缓存目的。
答案 2 :(得分:2)
"/system/papers/articles/000/000/024/original/data.png?1404191431"
.split("?").first