【发布时间】:2011-10-23 17:37:48
【问题描述】:
我正在尝试使用 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 文档或论坛中找不到任何关于此的内容。有人请帮忙!我已经花了几个小时......
附:我尝试切换到carrierwave-datamapper,但这也不起作用,因为to_json在很大程度上失败了,这对我的应用程序至关重要。
【问题讨论】:
标签: ruby paperclip sinatra datamapper