我正在尝试删除一些动画GIF在他们被转换成MP4 --但是在文件系统中创建文件后触发的事件的名称是什么?
测试过的dgilperez's answer:在文件系统创建文件之前会触发after_post_process事件。
def on_after_post_process
puts(self.attachment.path)
end打印:
=> "/home/user/rails-repo/public/system/photos/attachments//original/file.gif"但实际上该文件是在以下位置创建的:
=> "/home/user/rails-repo/public/system/photos/attachments/000/000/<id>/original/file.gif"我也尝试了ActiveRecord的after_create事件。在这种情况下,文件路径是正确的,但文件尚未创建。
发布于 2015-02-28 20:51:03
在the docs中,您可以使用after_post_process回调或更具体的after_<attachment>_post_process。
发布于 2015-06-25 23:38:09
回形针在after_save回调中将附件保存到磁盘。after_save在after_create之后发生,所以你不能使用after_create。您可以创建自己的after_save,并仅为新记录运行它:
after_save :process_file
def process_file
# Don't do anything on update. new_record? is always true here.
return if !id_changed?
# XXX Do your business here
endhttps://stackoverflow.com/questions/28778046
复制相似问题