Jim Thanks it worked,
--Nror On Tue, Nov 29, 2011 at 3:14 PM, Jim Ruther Nill <[email protected]> wrote: > > > On Mon, Nov 28, 2011 at 9:11 AM, newrails user <[email protected]>wrote: > >> 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. >> >> 1) 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) >> 2) 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 . >> >> 3) writting a mehod in controller such that it returns what i wanted and >> use the same in the model.Still could not succeed. >> >> > > See if this works > > class Ability > include CanCan::Ability > > def initialize(user, subdomain) #subdomain should now contain the > current subdomain > user ||= User.new > ... > end > end > > Then in your application controller > > def current_ability > @current_ability ||= Ability.new(current_user, current_subdomain_name) > end > > class Ability > include CanCan::Ability > > def initialize(user) > > user ||= User.new # guest user (not logged in) > > if user.admin? > > can :manage, :all > else > can :read, :all > end > > endend > > > > >> >> 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 >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Talk" group. >> 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. >> > > > > -- > ------------------------------------------------------------- > visit my blog at http://jimlabs.heroku.com > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > 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. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. 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.

