主要观点:作者在准备会议演讲时,分享了使用 Active Storage 的经验和建议,包括将每个附件包装在模型中、保持一致的名称和验证、启用直接上传、记得包含所有内容、生成指向 CDN 的链接以及注意变体处理等方面。同时提到在使用 Active Storage 过程中会遇到问题,需要更加谨慎,并介绍了自己的相关作品供读者参考。
关键信息:
- Active Storage 介绍:Ruby on Rails 的功能,可轻松在云中存储用户生成的资产,避免堵塞应用或数据库服务器。
具体建议:
- 每个附件包装在模型中,如
Build::MovementVideo
模型。 - 保持名称、变体和验证一致,
Attachable
模块定义基本附件操作。 - 启用直接上传,避免应用服务器堵塞,注意表单提交后验证失败时的文件处理。
- 养成审计每个路由中附件引用的习惯,使用
IncludesHashes
模块组装includes
。 - 生成指向 CDN 的链接,避免代理或重定向服务器的问题。
- 变体处理需要
vips
和ffmpeg
,在 Heroku 上添加相应构建包。
- 每个附件包装在模型中,如
- 遇到的问题:工作中遇到约 dozen Active Storage 漏洞,需更谨慎,有备份策略、审计空间使用等建议。
- 相关作品推荐:订阅作者工作获取 2 美分见解,包括 RSS、社交网络,还有每月 newsletter 和长形式 solo podcast《Breaking Change》。
重要细节:
- 各种代码示例,如
_direct_upload_file_field.html.erb
部分的代码、IncludesHashes
模块的代码等。 - 提及的相关链接,如各种 Active Storage 相关指南、作者的其他作品链接等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。