私は現在、サイト固有のソーシャルネットワーキングサイトのようにいくつかの方法で機能するRubyonRailsアプリに取り組んでいます。この一環として、サイトの各ユーザーは、連絡先情報(電話番号、住所、電子メールアドレス、雇用主など)を入力できるプロファイルを持ちます。
これをモデル化するための簡単な解決策は、ユーザーが入力できる情報ごとにデータベース列を作成することです。ただし、これは恣意的で制限されているようです。さらに、ユーザーが必要な数の電話番号を入力できるようにするためには、別のデータベーステーブルと結合を追加する必要があります。
より良い解決策は、ユーザーが入力したすべての連絡先情報を行の1つのフィールドにシリアル化することだと思います。この情報に基づいてSQLクエリを調整することは決してないので、このようなソリューションの効率が低下することはありません。
理想的には、シリアル化形式としてvCardを使用したいと思います。vCardは、Web全体に連絡先情報を保存するための標準的なソリューションであり、テスト済みのソリューションを再利用することは良いことです。代替のシリアル化形式には、単純にルビーハッシュまたはYAMLをマーシャリングすることが含まれます。シリアル化の形式に関係なく、この情報の読み取りと更新をRailsのような方法でサポートすることは、実装上の大きな課題のようです。
それで、ここに質問があります:Railsアプリケーションで使用されるこのアプローチを見た人はいますか?そのようなシステムを簡単に実装できるRailsプラグインや宝石はありますか?
理想的には、acts_as_vcardをモデルオブジェクトに追加して、vcardの編集とデータベースへの保存を処理することをお勧めします。