Ruby on Rails: именованная область с лямбдой и массивом - PullRequest
1 голос
/ 06 августа 2010
named_scope :all_public, lambda { |users| 
       { :conditions =>  ["visibility = ? || (visibility = ? && user_id = ?)", Shared::PUBLIC, Shared::PRIVATE, users] }
     }

Это хорошо работает для одного пользователя, но есть ли способ изменить его, чтобы он работал, когда пользователи представляют собой массив идентификаторов пользователей?

1 Ответ

1 голос
/ 06 августа 2010

Примерно так, а затем просто передать массив из одного элемента для случая с одним идентификатором

named_scope :all_public, lambda { |users| 
       { :conditions =>  ["visibility = ? OR (visibility = ? AND user_id IN (?))", Shared::PUBLIC, Shared::PRIVATE, users.join(',')] }
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...