Сотрудничество пользователей в рельсах - PullRequest
0 голосов
/ 15 ноября 2009

Я создаю простой инструмент для совместной работы над проектом с использованием rails 2.3. Аутентификация обрабатывается с помощью плагина Restful Authentication, а управление ролями - с помощью плагина Role Requirement.

Мне нужно создать взаимодействие с пользователем. Например, когда авторизованный Пользователь вошел в систему, Пользователь может создать команду, которая принадлежит Пользователю, поэтому команда может войти в систему и создавать / редактировать / обновлять / удалять данные Пользователя. Таким образом, каждый пользователь может создать команду для совместной работы.

Я попробовал с моделью приглашения, в моей попытке; Пользователь может пригласить другого пользователя (с приглашение_ид), а затем я отфильтровал контроллеров / искателей с (приглашение_ид). Если приглашенный пользователь входит в систему, может видеть только данные пользователя приглашающего. Но это не очень хорошо для управляемости и создает сложную кодовую базу.

Как я могу реализовать такую ​​систему совместной работы пользователей? так что лучше для этого.

Спасибо

1 Ответ

3 голосов
/ 15 ноября 2009

Я бы, вероятно, создал класс Collaboration или Project, который has_and_belongs_to_many пользователей.

class Collaboration
  has_and_belongs_to_many :users
end

Вы также можете установить различные отношения ActiveRecord для владельца и участников Collaboration (если это соответствует вашей бизнес-логике).

, например

class Collaboration
  belongs_to :owner, :class_name => 'User'
  has_and_belongs_to_many :members, :class_name => 'User'
end

Как правило, рекомендуется избегать как можно большей части этой логики из контроллеров (и в моделях). Смотри http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model.

...