1つの詩人から5つの詩を印刷した雑誌や書籍はどうですか?
詩人が多くの詩と多くの詩を持っている場合は、詩人を得ることができます。
Poet.poems.first.printingsは最初の詩
詩人のすべての印刷物を返すか、Printing.poems.first.poetあなたが印刷で最初の詩の詩人を得ることができる。この方法を行うことができます。
これらの関係をどのように設定しますか?具体的には、モデルとデータベースの表はどのようなものになりますか、それらを使用して関連データにアクセスする方法は?
私はあなたが参加するテーブルを必要とするhas_and_belogs_to_manyの関連付けを使用しているため、詩や印刷物
のためにあなたは、この
のように見えるの移行を持つことになり、この
Poet :has_many poems
poem :belongs_to poet
poem :has_and_belongs_to_many printings
printing :has_many poems
ようにそれを設定します
CreatePoemsPrintingJoinTable < ActiveRecord::Migration
def self.up
create_table :poems_printings, :id => false do |t|
t.integer :poem_id
t.integer :printing_id
end
end
def self.down
drop_table :poems_printings
end
end
他の表はかなり簡単です
CreateTablePoems < ActiveRecord::Migration
def self.up
create_table :poems, do |t|
t.integer :poet_id
end
end
def self.down
drop_table :poems
end
end
CreateTablePoets < ActiveRecord::Migration
def self.up
create_table :poets do |t|
end
end
def self.down
drop_table :poems
end
end
CreateTablePrintings < ActiveRecord::Migration
def self.up
create_table :printings do |t|
end
end
def self.down
drop_table :printings
end
end
多くの印刷で詩が出現する可能性がある場合は厄介になりますが、ここに該当するかどうかは分かりません。 – house9
詩が多くの印刷物を持つことができるようにそれを変更してください – austinbv
これはまさにそのケースであり、皆さんが回答を投稿した通りにテキストを更新しました:X –