# Dynamic :conditions for has\_many?

**URL:** <https://www.ruby-forum.com/t/dynamic-conditions-for-has-many/187337>\
**Category:** Rails\
**Created:** [April 21, 2010, 9:34pm UTC](https://www.ruby-forum.com/t/dynamic-conditions-for-has-many/187337 "2010-04-21T21:34:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![djconcepcion](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/57b2e6/32.png) [@djconcepcion](https://www.ruby-forum.com/u/djconcepcion)\
**Post date:** [April 21, 2010, 9:34pm UTC](https://www.ruby-forum.com/t/dynamic-conditions-for-has-many/187337/1 "2010-04-21T21:34:13Z")

</div>

In the setup of  
class Group \< ActiveRecord::Base  
has\_many users :through =\>user\_groups  
end

class User …  
…  
end

for “admin” like behavior (i.e. we want to see any/all users associated  
with this group), this is enough.  
However, in other cases, I want something like

class Group \< ActiveRecord::Base  
has\_many users :through =\>user\_groups, :conditions =\>  
“user\_groups.user\_status\_for\_this\_group = ‘OK’”  
end

what is the best way to do both simultaneously (without resorting to  
something like:  
user\_groups.scoped\_by\_user\_status\_for\_this\_group(‘OK’).collect { |ug|  
ug.user} etc…

-Cole
