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 -~----------~----~----~----~------~----~------~--~---