Учитывая два класса, Apple и Orange:
def class Apple < ActiveRecord::Base
has_and_belongs_to_many :oranges
end
def class Orange < ActiveRecord::Base
has_and_belongs_to_many :apples
end
В чем разница между использованием t.integer для определения внешних ключей в таблице соединений:
create_table :apples_oranges, :id => false do |t|
t.integer :apple_id
t.integer :orange_id
end
и использование t.references для определения внешних ключей в таблице соединений:
create_table :apples_oranges, :id => false do |t|
t.references :apple
t.references :orange
end
Я видел оба, и они кажутся взаимозаменяемыми. Просто хотел убедиться, что нет какой-то тонкости / магии, которую я пропускаю.
О, и я на Rails 3.2 с MySQL