Как установить типичные отношения пользователей HABTM - PullRequest
6 голосов
/ 14 июля 2011

Я новичок в этом, и я использую cancan + devise для моей аутентификации пользователя.Однако я не совсем уверен, что значит установить типичное отношение ролей пользователей HABTM, и при этом я не совсем понимаю, что такое отношения HABTM.

Может кто-нибудь объяснить это действительно хорошо или указать мне хороший учебник илипример

Ответы [ 2 ]

16 голосов
/ 14 июля 2011

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 по вашим вопросам.

3 голосов
/ 14 июля 2011

Руководства по Ruby on Rails - хорошая отправная точка здесь также этот учебник - именно то, что вам нужно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...