現在、文字列としてのみ保存されている、多くの問題がある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_id
issue.illustrator.nameを参照できるように、作成者レコードが存在しない場合は新しい作成者レコードを作成してillustratorテーブルに保存したいと思いますが、名前の値は実際には作成者テーブルにあります...
全体的にタスクを実行するためのより良い方法はありますか?