我正在尝试使用dm-paperclip来处理我的Sinatra应用程序中的上传。它适用于静态值。但是,当我尝试使用动态插值时,上传文件保存在路径中的关键部分 - 来自dm-paperclip插值的:id
变量 - 在写入时具有一个值且具有不同的值在阅读时间。
换句话说,我在我的模型中有这个:
has_attached_file :attachment,
:url => '/system/attachments/:id/:style/:basename.:extension',
:path => "#{APP_ROOT}/public/system/attachments/:id/:style/:basename.:extension"
# saves to path /my/root/public/system/attachments/217880/original/filename.png
上传和保存没有问题。但是,当我@file.attachment.path
时,它会显示如下内容:
/my/root/public/system/attachments/218298/original/filename.png
我在dm-paperclip文档或讨论此事的论坛中找不到任何内容。有人请帮忙!我花了好几个小时......
P.S。我尝试切换到carrierwave-datamapper,但这不会起作用,因为它与to_json有很大的失败,这对我的应用程序至关重要。
答案 0 :(得分:0)
我知道这不能解答您的问题,但我建议您切换到carrierwave-datamapper - 这是一个更好的文件上传解决方案,更重要的是它的维护。