我对Ruby on Rails一无所知,但我参与了重写一个应用程序的工作,这个应用程序是别人不久前用它开发的。(C/C++等),我很难理解Ruby on Rails。我想我不能理解它的原因是因为它的细节隐藏在一个library(paperclip).
(短版:我想将数据库列中的文件名与文件在磁盘上的物理位置进行匹配。)
以我有限的知识,我知道以下几点...
该应用程序有一个Gemfile.gem
与此条目:'回形针','4.3.0'.我看了paperclip
的开发history,并意识到这是从四月2016.所以,它似乎很老.
我有一个PostgreSQL数据库,其字段如下:
- 附件文件名
- 附件内容类型
- 附件文件大小
- 附件更新于
所有这些都与文档中提到的变量相匹配。
数据库中attachment_file_name
下的值只是文件名,没有路径。
在磁盘上,这些文件存储在像attachments/000/003/335/original/abc.txt
这样的目录中,看起来和文档中的例子完全一样。所以,我想我相当确定正在使用paperclip
。
如何将文件名转换为上述路径?
更重要的是,如果我有一组几百个文件,我想打印出每个文件的完整路径。文件名中有重复的文件,导致不同的路径。所以我猜计算(哈希函数?)是使用文件名和文件的内容来完成的。
有人能提供关于如何做到这一点和/或我应该在代码中寻找什么的建议吗?
我想我的问题类似于存储库中的Issue,它将该问题的作者指向StackOverflow(当然,那是7年前的事了)。
谢谢!任何帮助将不胜感激!
1条答案
按热度按时间vyswwuz21#
用一个例子更容易:
字符串
附加文件:
型
这是存储文件的默认路径:
x
的一种或多种
如果您只能从数据库端工作
的字符串