Kullanıcının birçok Rol'e ait olduğu ve ait olduğu bir ilişkim olduğunu varsayalım. Kullanıcıyı yok ettiğimde, katılma tablosundaki kayıt otomatik olarak kaldırılıyor mu? Ya da kullanmam gerekiyor: bağımlı =>: yok? Rolü yok edersem ne olur?HABTM ilişkisinde birleştirme tablosundaki kayıtlar otomatik olarak yok edildi mi?
class User < ActiveRecord::Base
has_and_belong_to_many :roles # need to use :dependent => :destroy to remove join record?
end
class Role < ActiveRecord::Base
has_and_belong_to_many :users # need to use :dependent => :destroy to remove join record?
end
Ben HABTM puanlarından biri ara model olmadığını düşündüm. Bu, RolesUsers modeli mevcut olmadığı sürece işe yaramaz. – ipd
HABTM bir ara model/tablo gerektirir, aksi halde ilişki ilişkisel bir veritabanında bulunamaz. @keruilin'nin gerçekleştirmeye çalıştığı görev için mevcut RolesUser modeline ekleme yapması veya oluşturması gerekiyor. –
Netleştirmek için: HABTM ara * tablo * gerektirir, ancak ekstra modeli değil. Ara modelde ekstra kontrollere veya alanlara ihtiyacınız varsa 'has_many/through' komutunu kullanacaksınız. – ndp