আপনি এটি এইভাবে করতে পারেন:
create_table :courses do |t|
t.string :name
t.references :transferrable_as
t.references :same_as
t.timestamps
end
বা t.belongs_to
জন্য একটি উপাধি হিসাবে ব্যবহারt.references
আপনি foreign_key: true
এই দুটি রেফারেন্স লাইনে যুক্ত করতে পারবেন না । আপনি যদি তাদের ডাটাবেস পর্যায়ে বিদেশী কী হিসাবে চিহ্নিত করতে চান তবে আপনার এটির সাথে মাইগ্রেশন হওয়া দরকার:
add_foreign_key :courses, :courses, column: :transferrable_as_id
add_foreign_key :courses, :courses, column: :same_as_id
হালনাগাদ
5.1 বা তার বেশি রেলগুলিতে আপনি create_table
ব্লকের মাইগ্রেশনে বিদেশী কীটি যুক্ত করতে পারেন :
create_table :courses do |t|
t.string :name
t.references :transferrable_as, foreign_key: { to_table: 'courses' }
t.references :same_as, foreign_key: { to_table: 'courses' }
t.timestamps
end