Paperclip:copy_to_local_file在每次更新时调用(不相关的属性)

时间:2014-02-25 10:20:51

标签: ruby-on-rails ruby-on-rails-4 amazon-s3 paperclip

我正在使用带有Amazon S3的paperclip 4.1.0。 我想知道为什么请求如此缓慢,并且发现每当我更新带有附件的模型的属性时都会调用“copy_to_local_file”,即使它只是一个与附件无关的属性(在我的例子中,是cache_count,这意味着每个当有人投票给实例时,附件会在本地下载!)。

我知道它是在需要回滚的情况下使用的,但是当属性与附件没有直接关系时,它似乎有点过分。

我是以错误的方式使用回形针还是可以改进的东西?

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

只需2美分: 只有在调用ActiveRecord::Base#save后才能在本地下载附件。

  1. 每天在cron中调用'base#save'而不是帮助加载?
  2. 否则,请尽可能删除方法copy_to_local_file的调用
  3. 或编辑paperclip的copy_to_local_file(style,local_dest_path)方法的来源,以排除附件的下载。

答案 1 :(得分:1)

这是回形针的一个问题,它已在主分支上修复了!