【问题标题】:Instance ID mismatch with dm-paperclip in a Sinatra + DataMapper appSinatra + DataMapper 应用程序中的实例 ID 与 dm-paperclip 不匹配
【发布时间】: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


    【解决方案1】:

    我知道这不能回答您的问题,但我鼓励您切换到carrierwave-datamapper - 这是一个更好的文件上传解决方案,更重要的是它得到了维护。

    【讨论】:

    • 嗨,索尔尼克。你看到我的P.S.了吗?我也是在 github 上提交关于 cw-dm 在 to_json 和 to_xml 上失​​败的问题的人。这是现在的交易破坏者。如果您想出解决方案,请告诉我!
    • 抱歉,我没有注意到“P.S”。无论如何,正如您可能在 GH 问题的评论中看到的那样,这是载波本身的问题,因此我们需要等待修复。修复完成后我会更新问题。
    猜你喜欢
    • 2011-07-14
    • 2012-01-14
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多