I have the models roles, users and user_roles. The relationship among
user has_many user_roles
user has_many roles, :through => :user_roles
role has_many user_roles
role has_many users, :through => :user_roles
Suppose a login user1 has roles [admin, staff] And login user2 has
only one role say [participant] Now how can I check the cases
1)a login user is an admin or staff
2) a login user has_role participant?
And also I would like to know whether this can be written using
named scopes.(I am totally new to named scopes)
Thanks in advance
user1.roles returns an array of roles.
The array class has a function “include?(obj)” that returns true or
Something like this should work:
Named scopes are not ment for stuff like this.
You can create a function on the user model “is_admin?” for the code
above. That way if how an admin is defined changes, you only need to
update the code in one place.
Better off saying !roles.find_by_name(“admin”).blank?
Saves on SQL
New video up now at http://sensei.zenunit.com/ real fastcgi rails
deploy process! Check it out now!