ruby-on-rails Paperclip Gem如何使用< attachment>_updated_at及其重要性?

vxf3dgd4  于 2023-06-07  发布在  Ruby
关注(0)|答案(1)|浏览(161)

PaperClip Gem添加了一个名为-> _updated_at的默认属性。与回形针相关的_updated_at有什么用。
_updated_at在paperclip gem中的使用(ROR,ruby)
参考资料:https://github.com/thoughtbot/paperclip/blob/main/lib/paperclip/attachment.rb#LL310C4-L315C8
https://www.rubydoc.info/github/thoughtbot/paperclip/Paperclip%2FAttachment:updated_at
我有一个单独的updated_at列,用于一个模型,比如说photo,并且作为模式的一部分创建了一个名为photo_updated_at的列。这个photo_update_at列有什么用?
# Returns the last modified time of the file as originally assigned, and # lives in the <attachment>_updated_at attribute of the model. def updated_at time = instance_read(:updated_at) time && time.to_f.to_i end

tcbh2hod

tcbh2hod1#

<attachment>_updated_atupdated_at之间的区别是,第二个将被更新的任何时候,模态改变的任何属性让我们说你已经添加了一些额外的属性,如downloads计数的时间,文件已被下载或任何其他事情,你想跟踪,那么当你更新这个或任何其他属性时,它会将updated_at的值修改为模型正在更新的当前时间。
但由于PaperClip允许每个模型有多个附件,假设您有一个Profile模型,允许您附加头像,但也允许您附加类似口袋妖怪图像的东西,那么您将拥有

<Profile
  pokemon_img_updated_at:
  pokemon_img_file_size:
  ...the rest of the pokemon attachment related attributes
  avatar_updated_at:
  avatar_file_size:
  ...the rest of the avatar attachment related attributes
>

此时你可能已经有了想法,每个附件属性的updated_at只会在特定附件发生变化时才会更新,这在github存储库www.example.com的用法部分有提到https://github.com/thoughtbot/paperclip#usage

相关问题