現在、文字列としてのみ保存されている、多くの問題があるcomic_booksテーブルがあります。author and illustrator問題に comic_books を使用has_many:throughするとうまくいきます。現在、著者とイラストレーターの関連付けを追加する方法を見つけようとしています。
問題は、著者とイラストレーターが同一人物である場合があることです。イラストレーターをクリックすると、彼/彼女が書いた、またはイラストを描いた特定の問題を確認したいと思います。セットアップするhas_one belongs_to associationと、イラストまたは著者のいずれかのボリューム結果のみが取得されますが、同じ「作成者」から両方が必要です。
そのため、テーブルを試してみましたcreatorが、関連付けを配置する方法がわかりません。ライターとイラストレーターの両方nameに 、 、を格納するクリエーター テーブルが必要です。creator_id
じゃあ電話したい
issue.illustrator.first_or_create!('bob smith')
しかし、それは正しくありません。それぞれに同じ名前が付けられるため、独立したイラストレーターとライターのテーブルは必要ありません。さらに抽象化する必要がありますが、理解できないようです。
creator_idissue.illustrator.nameを参照できるように、作成者レコードが存在しない場合は新しい作成者レコードを作成してillustratorテーブルに保存したいと思いますが、名前の値は実際には作成者テーブルにあります...
全体的にタスクを実行するためのより良い方法はありますか?