Railsにて列名から機械的に決定できないテーブルへの参照を定義する
at 2017-03-24 11:36 (UTC)
students
テーブルがあったとして、兄弟の情報を持ちたい。
class CreateSiblings < ActiveRecord::Migration[5.0]
def change
create_table :siblings do |t|
t.references :senior, foreign_key: true
t.references :junior, foreign_key: true
t.timestamps
end
end
end
こんなテーブルを作りたいが seniors
テーブルも juniors
テーブルも存在しないので参照が張れない。
そんな場合はこうすればよい。
class CreateSiblings < ActiveRecord::Migration[5.0]
def change
create_table :siblings do |t|
t.references :senior, foreign_key: { to_table: :students }
t.references :junior, foreign_key: { to_table: :students }
t.timestamps
end
end
end