Таблица
A has_and_belongs_to_many
должна соответствовать этому формату.Я предполагаю, что две модели, к которым присоединяется has_and_belongs_to_many
, уже находятся в БД: apples
и oranges
:
create_table :apples_oranges, :id => false do |t|
t.references :apple, :null => false
t.references :orange, :null => false
end
# Adding the index can massively speed up join tables. Don't use the
# unique if you allow duplicates.
add_index(:apples_oranges, [:apple_id, :orange_id], :unique => true)
Если вы используете :unique => true
в индексе, то выдолжен (в rails3) передать :uniq => true
в has_and_belongs_to_many
.
Дополнительная информация: Документация по Rails
ОБНОВЛЕНО 2010-12-13 Iобновил его для удаления идентификатора и временных меток ... В основном MattDiPasquale
и nunopolonia
верны: не должно быть идентификатора и не должно быть временных меток, или рельсы не позволят has_and_belongs_to_many
работать.