Rails 疑问:使用 ckeditor 时,上传的图片貌似不能随着记录的删除而删除

beyondyuqifeng · 2013年09月11日 · 最后由 beyondyuqifeng 回复于 2013年09月12日 · 4367 次阅读

场景: 使用 ckeditor 编辑一条数据库记录中的 description,其中用 ckeditor 插入了一张图片,结果这条记录删除了,图片并没有被删除; 甚至,修改 description 时,把这个图片删除,也不能删除上传的图片;

google 了一下,貌似没有什么答案,请问这个如何破?

数据库里面只存储一个图片的路径/标识,删除数据的时候也仅仅删除数据库里面的数据。

要删除原始文件的话,需要在删除 db 数据的时候自己做关联处理。

如果富文本上传时,同时对图片做了处理,比如生成不同大小多个图,删除的时候也要考虑。(一般默认富文本框不会干这个)

重要的是,真的要删除原始图片么?真的要在删除 db 的时候同步删除图片么?一不小心删错了也要考虑。

#1 楼 @as181920 主要是,我看到 ckeditor_assets 这张表,用 ckeditor 上传后,图片都会在这里建相应的记录,但是把 ckeditor 描述中的图片引用删除后,是不会删除对应的记录,也不会删除对应的图片

难道在删除 db 数据或更新 ckeditor 编辑的内容的时候,去做关联处理,那不是要去搜索图片的引用然后再做处理?

最后,相关的记录都没有了,肯定得删除对应的图片资源啊,不然不是存着占空间,又没有用。

暂时空间足够,怕丢不怕多,大不了真多了根据数据做后台批处理。

这个没经验,估计还是要关联处理的,这种处理应该也有方案参考,不行再自己手写,

网上随便搜了下,比如http://stackoverflow.com/questions/4435826/rails-paperclip-how-to-delete-attachment

没时间深入,自己研究啦:)

#3 楼 @as181920 恩,多谢回复,自己搞搞去

需要 登录 后方可回复, 如果你还没有账号请 注册新账号