Вот что у меня сегодня: я вывожу список @ 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?Или, если нет, покажите кнопку ДОБАВИТЬ участника.