私のアプリからユーザーのプロフィールを削除する機能があるとします。しかし、彼らが行く前に、私は彼らが離れる理由を記入するように頼んでいる( "あまりにも多くの電子メール"、 "もはやサービスを使用する"、 "その他"など)静的設定/参照データをRails DBに保存
私はしたいUser
モデルのフィールドに去る理由を保存する - User#reason
私の質問は、列挙された理由リストをどこに保存しますか?いくつかのオプションがあり、他の人が使っていることや、それを行うための最も「Railsの方法」について助言を得ることを望んでいます。
平文としてストア - 前述したように、
User#reason
に理由でフルテキストを格納します。しかし、理由のために特定のフレーズを更新するたびに、既存の値をすべて修正する必要があります。スタティック構成テーブル。
Reason
と呼ばれる静的なテーブル/モデルを作成し、理由のリストを格納します。次に、それぞれUser
モデルにはreason_id
への外部キー参照があります。問題は、外部キーの依存関係のために私が選択すると簡単に理由を削除できないということです。ActiveHash - このようなもののために作られたようです。
ActiveRecord
オブジェクトのように機能するメモリ内ハッシュ。しかし、IDの変更があれば(データベースに保存されていないため、コード内に格納されているので簡単に変更できます)、他のテーブルの外部キーマッピングが混乱します。
ありがとう!