Hi all,
I am facing problem in getting subdomain name inside the model. The
following is my setup.
I am using cancan for authorization.I wanted a specific condition in
Ability.rb ( the file which is placed in models if we install cancan
gem).
Below is the condition I wanted:
user ||= User.new # guest user (not logged in)
if (user.role == 'admin' && user.site_name ==
current_subdomain_name)
can :manage, :all
else
can :read, :all
end
current_subdomain_name should be the name of the subdomain on which user
is
browsing. But i could not get it.
I have tried the following was but could not succeed.
-
setting a current_subdomain_name as a global variable in the
application
controller and using the global variable. (using ruby debugger i found
that
the global variable is having nil in it) -
i have a method current_subdomain_name in the application helper
which
returns what i wanted, I included the same inside the ability model and
tried to use the method . But was getting error . -
writting a mehod in controller such that it returns what i wanted and
use the same in the model.Still could not succeed.
Can anybody let me know how to get the subdomain from request and use it
in
the model (In Ability.rb which cancan provide).
Any help is highly appreciated.
Thanks,
Nror