Take the example of an admin user vs. a guest user.
for the guest i have the rule:
has_permission_on :conditions, :to => [:new, :create,:update,:read,:show,:index] do
if_permitted_to :read, :experimental_conditions
end
has_permission_on :experimental_conditions, :to => [:new, :create,:update,:read, :show, :index] do
if_attribute :well_id => is { nil }
end
but for the admin user i have the rule
has_permission_on :conditions, :to => [:new, :create,:update,:read,:show,:index]
(much less expensive)
the admin user also
includes [:guest]
so when i say
Conditions.with_permissions_to(:read) i always get the expensive left outer join performed.
I have tried to change the position of the the includes hoping that the cheap rules will be evaluated first, but it does not seem to be the case.
What's the best way to handle this?
Brad