I am fairly new to rails so I apologize if I am using the wrong terminology.
I have a model Menuitem that I would like to display the contents of in a layout. How does one go about passing an instance variable into a layout?
I was looking for a layout helper of some sort but I was unable to find anything. I was also looking at defining the instance variable in the application controller to access it in the layout, would this work? If so what is the best way to go about doing it?
Thanks!
Two things I would note. First, you probably don’t want to be doing this query every time you render any page in your application. You definitely want to cache your MenuItems. Second, it might be helpful to put a convenience method on MenuItems class to cache this value. So, if I define a method
I can call MenuItem.all_for_menu in my layout and get all the menu items. When ever you add a new one or edit one, you’d have to invalidate that.
Another caching approach would be to put the data in a partial and cache that fragment using the standard caching call:
You can then expire that fragment by calling: