Hello all! This is my first time posting to the list, so be
gentle. ;-)
Here''s my setup.... I''ve created a controller class method for
performing some access control actions during a before_filter
callback. What I''d like to do is access the params from within the
class method without having to explicitly pass them in the
controller. I''d like to check the path in the url for some finer
grained authentication.
I''ve tried to do a couple of different ways, but I think params are
either out of scope or not created by the time the before filter
runs.
Is what I''m proposing possible?
Example of what I''d like to do:
in controller......
class ProjectController < ApplicationController
class_method_call ''do something''
...... rest of controller code ...
end
in lib.....
module AccCheck
def self.included(in_sub)
in_sub.extend(ClassMethods)
end
module ClassMethods
def class_method_call(in_string)
before_filter do |c|
if !params[:id].nil?
.... check access .....
end
end
end
end
end
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
rimas.silkaitis wrote:> > Example of what I''d like to do: > > in controller...... > class ProjectController < ApplicationController > class_method_call ''do something'' > > ...... rest of controller code ... > end > > in lib..... > module AccCheck > def self.included(in_sub) > in_sub.extend(ClassMethods) > end > > module ClassMethods > def class_method_call(in_string) > before_filter do |c| > if !params[:id].nil? > .... check access ..... > end > end > end > end > > endThere is no way params could be accessible at the class level because if it did, there would be a huge clash if your app ever exceeded one session (which is fairly likely after you deploy)! Imagine the params hash continuously getting over written whenever a new request would come in. There would be chaos, mass looting, and a sharp rise in suicides. Why can''t you have: class_method_call(in_string, params) again ??? ilan -- Posted via http://www.ruby-forum.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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Yikes... it sounds like if I could do that it could be a clash of biblical proportion. I really have no reason for not being able to pass the params in the controller. I was curious to know if something like that was accessible with the class method I was creating. Thanks for the info. On Mar 19, 9:50 am, Ilan Berci <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> rimas.silkaitis wrote: > > > Example of what I''d like to do: > > > in controller...... > > class ProjectController < ApplicationController > > class_method_call ''do something'' > > > ...... rest of controller code ... > > end > > > in lib..... > > module AccCheck > > def self.included(in_sub) > > in_sub.extend(ClassMethods) > > end > > > module ClassMethods > > def class_method_call(in_string) > > before_filter do |c| > > if !params[:id].nil? > > .... check access ..... > > end > > end > > end > > end > > > end > > There is no way params could be accessible at the class level because if > it did, there would be a huge clash if your app ever exceeded one > session (which is fairly likely after you deploy)! Imagine the params > hash continuously getting over written whenever a new request would come > in. There would be chaos, mass looting, and a sharp rise in suicides. > > Why can''t you have: class_method_call(in_string, params) again ??? > > ilan > > -- > Posted viahttp://www.ruby-forum.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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---