私は、Railsでかなり単純な問題を処理する方法について少し気になっています。ユーザーの電話番号を記録する必要があります。ユーザーが主要な連絡先番号として1つの電話番号を選択できる機能を追加したいと思います。私はすでにPhoneNumberクラスを持っているので(企業にも電話番号があるので多形です)、これですべて設定されました。
私はこれを2つの方法のいずれかで実行できると考えています。
- ユーザーがhas_manyの電話番号を持つ関連付けを設定し、その電話番号がそのユーザーのプライマリ番号であるかどうかを示すフィールドを追加します。
- プライマリ電話番号に個別の属性を設定し(ユーザーには1つしかないため)、次に、has_manyアソシエーションとしてセカンダリ電話番号を設定します。
いずれの場合も、ユーザーが新しい電話番号をプライマリとして指定したときに、関連付けられているすべての電話番号のプロパティを変更するコードを追加する必要があります。より経験豊富なユーザーが、ここに明らかにベストプラクティスがあると感じているかどうかだけ知りたいです。