【问题标题】:Missing timestamps for uploaded images上传的图片缺少时间戳
【发布时间】:2012-04-19 11:37:52
【问题描述】:

我的项目中有 mongoid 和 carrierwave-mongoid gem(用于用户模型中的头像),并且需要在上传的图片 URL 中添加时间戳。我知道有这个 Wiki 页面 (https://github.com/jnicklas/carrierwave/wiki/How-to%3A-Use-a-timestamp-in-file-names) 但有注释“这似乎不可靠。我强烈建议将时间戳保存到数据库并从模型中读取它以生成文件名而不是使用这种方法。”我不知道该怎么做。

我认为 Rails 应该自动或从特定属性为图像 URL 生成时间戳,对吗?所以我不确定这个属性的正确名称是什么,或者使用 Mongoid 和carrierwave-mongoid 的正确方法是什么。

能否请您提供一些信息或链接,我可以在其中找到有关此问题的更多信息或有关解决方案的信息。

因为我在 GitHub 上的 repo 是私有的,所以我做了这个 Gist (https://gist.github.com/2355128),在那里你可以看到我的用户模型和头像上传器。

感谢您的帮助。

【问题讨论】:

    标签: mongodb mongoid carrierwave timestamp


    【解决方案1】:

    这可能比您想要的答案更通用,但希望它能让您找到合适的解决方案。用于 MongoDB 中默认 _id 字段的唯一 ObjectID 具有“内置”时间戳,BSON::ObjectId 将是您在 Mongoid 中寻找以提取它的内容。

    这里也有一篇文章:

    http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs#OptimizingObjectIDs-Extractinsertiontimesfromidratherthanhavingaseparatetimestampfield.

    因此,您可以使用 ObjectID 周围的包装器来构建您的 URL,并完全避免使用额外的时间戳。

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 2013-08-02
      • 1970-01-01
      相关资源
      最近更新 更多