如何在我的Rails应用程序中存储pdf,以便用户可以访问/下载它们?
在我的迁移中,我会使用数据类型t.binary
吗?
然后在我的控制器/视图中,我该如何呈现这些数据?
答案 0 :(得分:4)
这里的答案可能取决于它。取决于PDF的大小和数量,用户必须登录才能查看等等。
如果你有很多大型PDF,将它们存储在数据库中可能不是一个好主意 - 只需将它们存储在文件系统中并将文件位置存储在数据库模型中。
如果您确实想将它们存储在数据库中,那么可以使用二进制列。
如果用户不必登录下载PDF,那么您可以将它们放入公共文件夹(在子文件夹内)并生成指向它们的链接以供下载 - 然后您的控制器只需要生成一个链接到静态PDF文件,前端Web服务器将自动提供它们,而无需使用Rails过程。
答案 1 :(得分:3)
我听说过有关Paperclip的好消息,这是透明处理这些东西的一种方式 - 在文件系统上存储文件,并在数据库中引用该文件位置。
答案 2 :(得分:1)
这个问题可能不是特定于rails的,但最好的方法是生成pdf并将它们存储在你的文件系统上,然后在你的数据库中记录文件名和创建它们的日期(到如果需要,删除旧的。)