Ruby on rails 文件名db/实际不匹配的回形针插值

Ruby on rails 文件名db/实际不匹配的回形针插值,ruby-on-rails,paperclip,Ruby On Rails,Paperclip,我正在制作一个小应用程序,用回形针上传纯文本文件。我有一个带有文档附件的上传模型。我想重命名上载的文件,使其与Upload.title相同 我用了一个回形针来做这个 #config/initializers/paperclip.rb Paperclip.interpolates('upload_title') do |attachment, style| attachment.instance.title.parameterize end #app/models/upload.rb has

我正在制作一个小应用程序,用回形针上传纯文本文件。我有一个带有文档附件的上传模型。我想重命名上载的文件,使其与Upload.title相同

我用了一个回形针来做这个

#config/initializers/paperclip.rb
Paperclip.interpolates('upload_title') do |attachment, style|
  attachment.instance.title.parameterize
end

#app/models/upload.rb
has_attached_file :document,
  :url => "/:attachment/:id/:upload_title.:extension",
  :path => ":rails_root/public/:attachment/:id/:upload_title.:extension"
但是,文件本身已重命名,但数据库中的文档名称仍保持原样

我制作了一个测试应用程序并上传到github

在这里,我创建了一个新的上传并附加了文件Original file Name.txt

garethrees.co.uk/misc/new.JPG

在这里,您可以看到创建的新上载,仍然使用原始文件名

garethrees.co.uk/misc/created.JPG

而且在数据库中,文档文件名保持不变

garethrees.co.uk/misc/db.JPG

但是,在实际的文件系统中,文档被重命名

garethrees.co.uk/misc/finder.JPG

我真的需要两个记录匹配,因为我需要使用回形针路径,以便用户下载文件


谢谢

为文档发布后处理创建一个回调函数,您可以将文档文件名设置为title+扩展名。

为文档发布后处理创建一个回调函数,您可以将文档文件名设置为title+扩展名。

好主意。如果我找不到回形针固有的解决方案,我会用它。谢谢好主意如果我找不到回形针固有的解决方案,我会用它。谢谢