Rails, вывод списка пользователей и указание, разрешены они или нет - PullRequest
1 голос
/ 17 октября 2010

Вот что у меня сегодня: я вывожу список @ users

Что мне нужно сделать, это вывести список пользователей и сказать, назначены ли они текущему проекту.

Я мог бы пройтись по каждому пользователю и проверить базу данных, но это было бы много обращений к базе данных, дополнительные 10 обращений для отображения 10 пользователей.

Мой вопрос к вам, есть ли умный, более эффективныйрельсы способ сделать это?Идеи: Возможно, я загружаю список всех текущих пользователей проекта и проверяю этот массив при выводе через цикл пользователя?Или, может быть, каким-то другим способом?

Интересно услышать ваши предложения и если вы не возражаете, небольшой фрагмент кода, чтобы начать меня.

Спасибо!

ОБНОВЛЕНИЕ - добавление моделей

User model
belongs_to :instance
has_many :permissions
has_many :projects, :through => :permissions

Permissions Model:
belongs_to :user 
belongs_to :project 
belongs_to :role

Project Model:
has_many :permissions
has_many :users, :through => :permissions

В настоящее время я использую запрос:

@users = find(:all, :joins => :instance, :select => 'users.*, instances.domain', :conditions => ['fname LIKE ? or lname LIKE ?', "%#{search}%", "%#{search}%"])

Что я хочу знать, для отображаемого пользователя.Являются ли они в настоящее время членом project_id в URL?Или, если нет, покажите кнопку ДОБАВИТЬ участника.

1 Ответ

1 голос
/ 17 октября 2010

Использование: включить (просто отметьте это 4.1.2.7: включить )

 User.all( :include =>:projects )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...