したがって、状況は次のようになります。
請求書というテーブルが1つあり、請求書番号という列があります。データベースに保存する前に、毎回複雑な請求書番号を生成する必要があります。さらに、invoice_itemという別のテーブルがあります。このテーブルには大量のアイテムが格納されます。各アイテムには、アイテムが属する請求書を宣言するための請求書番号という列もあります。1つの請求書に含まれるアイテムの数に制限はありません。
今、私はこれを達成するために2つの戦略を持っています:
ランダムな請求書番号を返すためのgenerateCode()という関数があります。それをapplication_controller.rbに入れます。そして、新しい請求書を挿入しようとするたびに、invoice_controllerのメソッド "create"は新しい請求書番号を生成し、その値を請求書に属するすべてのinvoice_itemsに渡します。 。
ActiveRecordコールバック関数after_initializeを使用するので、請求書インスタンスを新規作成しようとすると、請求書番号も作成され、値をアイテムリストに簡単に渡すことができます。
2番目の方法の方がロジックが多いようですが、パフォーマンスの問題につながる可能性はありますか?また、ほとんどのEコマーシャルWebサイトでは、ユーザーはショッピングリストを送信した後に請求書番号を受け取る可能性があります。だから私はこの種の質問をする典型的な方法は何であるか、そしてもっと重要なのはなぜか知りたいのです。
ありがとう