生きた Rails アプリケーションへの delegated types の導入
Mizuki Asada
• Tokyo, Japan & online
• Japanese •
Talk
Date: October 27, 2023
Published: November 02, 2023
Announced: unknown
https://kaigionrails.org/2023/talks/mozamimy/
【発表概要】
Rails では、あるモデルの属性を別のモデルに引き継ぐ、つまり継承を実現するための仕組みがいくつか用意されています。
そのひとつである STI は比較的古くから存在しているアプローチで、利便性と引き換えに課せられるデメリットも大きいとされています。いっぽう Rails 6.1 で実装された delegated types は、STI を利用した際に負うデメリットのいくつかを解消できるアプローチとなっています。
delegated types の基本的な利用方法やサンプルコードを使った例は API ドキュメントやその他記事で読めますが、生きている Rails アプリケーションにおいて、設計初期ではなく、ある程度開発が進んでから導入したという事例について気になる方も多いのではないでしょうか。初めて delegated types を知った方にとってもそのような情報は有用なはずです。
このセッションでは、hako-console という社内向け Rails アプリケーションで、デプロイ履歴のモデリングに delegated types を導入し、既存テーブルの移行方法や得られた知見、便利さはもちろん、メリットだけではなく落とし穴についても共有します。
【発表者】
mozamimy
GitHub https://github.com/mozamimy
Kaigi on Railsは、初学者から上級者までが楽しめるWeb系の技術カンファレンスです。
https://kaigionrails.org/
Kaigi on Rails 2023