Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 清除某个字符后的字符串_Ruby On Rails_Ruby_Paperclip_Slice - Fatal编程技术网

Ruby on rails 清除某个字符后的字符串

Ruby on rails 清除某个字符后的字符串,ruby-on-rails,ruby,paperclip,slice,Ruby On Rails,Ruby,Paperclip,Slice,我使用回形针获得了路径/system/papers/articles/000/000/024/original/data.png?1404191431。但是在扩展(.png)之后,我得到了一个数字,我不知道为什么。。 因此,我想清除.png之后的所有文本,包括? 我用ruby怎么做 我需要该链接的原因是因为我需要使用ImageMagick向其添加元数据,而由于随机数的原因,目前我无法这样做 另外,如果可能的话,我想知道为什么该数字会被回形针打印出来,因为从我看到的情况来看,该数字既不会保存在数据

我使用回形针获得了路径
/system/papers/articles/000/000/024/original/data.png?1404191431
。但是在扩展(.png)之后,我得到了一个数字,我不知道为什么。。 因此,我想清除
.png
之后的所有文本,包括

我用ruby怎么做

我需要该链接的原因是因为我需要使用ImageMagick向其添加元数据,而由于随机数的原因,目前我无法这样做


另外,如果可能的话,我想知道为什么该数字会被回形针打印出来,因为从我看到的情况来看,该数字既不会保存在数据库中,也不会保存到图像名称中。

使用
[]
和正则表达式在匹配的图案上“分配”一个空字符串

str = '/system/papers/articles/000/000/024/original/data.png?1404191431'

str[/\?\d+$/] = ''

添加该数字可能是为了破坏缓存

使用
[]
和正则表达式在匹配的模式上“分配”空字符串

str = '/system/papers/articles/000/000/024/original/data.png?1404191431'

str[/\?\d+$/] = ''
"/system/papers/articles/000/000/024/original/data.png?1404191431"
.split("?").first
添加该数字可能是为了破坏缓存

您可以使用该类:

"/system/papers/articles/000/000/024/original/data.png?1404191431"
.split("?").first
关于您的:

。。。我尝试使用
@record.article.url

您可以使用
.path
而不是
.url
获取文件的绝对路径:

@record.article.path
#=> "/path/to/project/public/system/papers/articles/000/000/024/original/data.png"
您可以使用该类:

关于您的:

。。。我尝试使用
@record.article.url

您可以使用
.path
而不是
.url
获取文件的绝对路径:

@record.article.path
#=> "/path/to/project/public/system/papers/articles/000/000/024/original/data.png"

我认为这是为了浏览器缓存(即如果图片发生变化,数字会更新,因此浏览器会获取新副本而不是缓存旧版本)如何获取此路径?可能还有另一种方法不添加数字。@Stefan我的过程是这样的……我有一个表单和一个图像,可以裁剪。所有这些数据都会随路径一起发送到数据库。所有这些都发生在创建操作中,在if
@record.valid@record.save
行之后,我尝试使用@record.article.url获取存储的图像路径。@Stefan我删除该数字的原因是因为rmmagick为链接抛出了一些编码错误。我正试图向图像添加元数据……但我坚持不下去now@Santino“Sonny”Corleone如果你需要文件系统路径,改用
@record.article.path
。我认为它是用于浏览器缓存的(即如果图片发生更改,数字会更新,因此浏览器会获取新副本,而不是缓存旧版本),如何获取此路径?可能还有另一种方法不添加数字。@Stefan我的过程是这样的……我有一个表单和一个图像,可以裁剪。所有这些数据都会随路径一起发送到数据库。所有这些都发生在创建操作中,在if
@record.valid@record.save
行之后,我尝试使用@record.article.url获取存储的图像路径。@Stefan我删除该数字的原因是因为rmmagick为链接抛出了一些编码错误。我正试图向图像添加元数据……但我坚持不下去now@Santino“Sonny”Corleone如果你需要文件系统路径,改用
@record.article.path
。。刚贴好,就要点击发布你的答案了…:-)+你在听吗。我很害怕…:-(啊..刚刚贴好,即将点击发布你的答案…:-)+1你在跟踪吗。我很害怕…:-(