Используя метод find, чтобы найти НЕ совпадающий - PullRequest
0 голосов
/ 25 января 2010

Я пытаюсь найти пользователя по group_id. Мой метод выглядит примерно так:

User.find(:all, :conditions => {:group_id => '90a39597a1aa3ec65fccf29ae05d9b6aefbfea6b', :id => !current_user.id})

Условие: id не имеет смысла, потому что я не знаю синтаксис этой части. Как найти пользователя по group_id и: id, который не совпадает с current_user.

Надеюсь, что это имеет смысл.

Ответы [ 2 ]

5 голосов
/ 25 января 2010

Использовать вариант массива / строки опции условия:

User.all(:conditions => ["group_id = ? and id != ?", "90a39597a1aa3ec65fccf29ae05d9b6aefbfea6b", current_user.id])
1 голос
/ 25 января 2010

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

users = User.find_all_by_group_id('...')
users.delete(current_user)

Вы могли бы сделать это через SQL, но мне это кажется чище.

...