私はレールに不慣れで、次の問題で立ち往生しています。
人間が読める形式の顧客IDには、永続的なクラス変数(私は思う)が必要です。顧客クラスは、単一テーブル継承セットアップの連絡先クラスのサブクラスであるため、データベースで生成されたIDは線形に昇順ではないため、役に立ちません。
ある種のcounter/idを実装するには、クラス変数またはグローバル変数が必要だと思います(顧客を削除できるため、countメソッドではありません)。私は正しいですか?この場合、クラス変数を何らかの方法でデータベースに保存する必要がありますよね?
私は少し迷っています
- それを保存する方法
- 正確にインクリメントする場合:最初のスーパーを呼び出して、新しいメソッドをオーバーライドする必要がありますか?
- ある時点でアプリケーションを再起動する必要がある場合に値をロードする方法
。
代わりにMultibleTableInheritenceセットアップを選択し、データベースIDを使用する必要がありますか?両方のクラスのフィールドの90%以上が同じであるため、これは厄介なことです。