HABTM означает имеет и принадлежит многим. В основном, вам нужен средний стол для отслеживания нескольких идентификаторов (называемый сквозной таблицей). Когда они упоминаются как типичные отношения ролей пользователей HABTM, они действительно означают, что будут модель User
, модель Role
, таблица пользователей, таблица ролей и таблица role_users. Не забудьте добавить таблицу HABTM - role_users -. Типичная настройка следующая:
class User < ActiveRecord::Base
has_and_belongs_to_many :roles
end
class Role < ActiveRecord::Base
has_and_belongs_to_many :users
end
Затем вы можете использовать ассоциации, как обычно говорят User.first.roles
и Role.first.users
.
Есть также пара Railscasts по вашим вопросам.