I have a User model with a protected method defined: def set_role(rolename) role = Role.find_by_rolename(rolename) permission = Permission.new permission.role = role permission.user = self permission.save(false) end and a subclass with: after_create set_role(''client'') This always fails for me with the error: undefined method `set_role'' for #<Class:0x2798838> however, if I call it with a symbol: after_create :set_role it finds the method, but fails with a "wrong number of arguments" (as you would expect). How can I call the method as a symbol and pass arguments at the same time? thanks dorian --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
ok, I just reread the activerecord docs and found the answe: ''The callback macros usually accept a symbol for the method they‘re supposed to run, but you can also pass a "method string", which will then be evaluated within the binding of the callback'' So I used after_create ''self.set_role("client")'' and it worked fine. --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---