重命名上传的文件

等一下。我不太确定你想做什么。是不是想更改人们在帖子中看到的文件名?如果是的话,或许你可以尝试类似下面的操作:

rake posts:remap["old-name.pdf","newname.pdf"]

具体可参考 在所有帖子中替换字符串。我认为对于你的需求来说,上传模型中的原始文件名其实并不重要。

不过,你可以通过以下方式修改它:

u=Upload.find_by(original_filename: 'mypretty-w9.pdf')
u.original_filename='better-name.pdf'
u.save

我尝试用该上传重新生成帖子,但没有任何变化。

编辑:

def rename_upload(old_name, new_name)
  u=Upload.find_by(original_filename: old_name)
  u.original_filename=new_name
  u.save
end

如果你粘贴这段代码,就可以执行:

rename_upload('name.pdf','better-name.pdf')

这样就能确保下载时获得更合适的文件名。

在我以前做学术的那段日子里,我有自己独特的 PDF 命名方式,和任何人都不同;我敢肯定我妻子也有她自己的习惯。我猜,即使你把文件名改得“正确”,也没人会觉得满意。:wink: