I'm trying to use CanCan to an account scoped application. I wrote this 
method in my ability class:

    roles = user.roles.find_by_account_id(account.id)
    if roles.any? { |role| role.type == "Ownership" }
      can :edit, Account
    else
      can :read, :all
    end

The trouble is, "any?" works when "roles" is an array. Sometimes, however, 
user.roles returns only one object any other times my return nil. So 
calling roles.any? causes an error. How do I work around this?

My setup is User has_many Accounts through :roles, and vice-versa.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/mORQoYLqDtwJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to