Description: I created a class called MenuLink so I could create link objects for my navigation menus. I want to instantiate the list and have it available to all controllers in my applcation. How I did it: I created a file called menu_link.rb in app/models that contained class MenuLink include Enumerable attr_accessor :name, :method @@items = [] def initialize() @@items.push(self) end def self.each(&block) @@items.each(&block) end end Then in my app/controllers/application.rb I put before_filter :config_defaults def config_defaults # More on this function later MenuLink.reset ################### MenuLink.new(''HOME'',''welcome'') MenuLink.new(''ABOUT US'', ''about'') MenuLink.new(''SCHEDULE'', ''schedule'') MenuLink.new(''YOGA INFO'', ''info'') MenuLink.new(''PHOTO GALLERY'', ''gallery'') MenuLink.new(''TEACHER TRAINING'', ''training'') MenuLink.new(''CONTACT US'', ''contact'') end Then in my templates I can do things like MenuLink.each {do stuff} Now this seems to work alright......except for one thing. Every time you refresh the page, any page, it creates a whole new set of MenuLink objects and appends them to the total @@items list. So I made a reset function for MenuLink def self.reset @@items = [] end So what I''m wondering is: 1) Is there a more correct way to handle this? Perhaps a filter that only executes a single time and not with every refresh? 2) In ruby, is this the correct way to ''destroy'' objects? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---