Global Controls

I’m coming from an ASP.NET background. Perhaps someone with some .net experience can shed some light on how to best implement this type of thing in rails. In .net I usually have global user controls that I embed on almost every page using a Master page. For example, I’ll have a PrimaryNav.ascx with has a codebehind file to pull the navigation schema from the database. I include this user control in the a master page so by default it appears on every page. I’m trying to figure out how in rails to do something like this. I’ve thought about including a partial in a layout but I don’t know where the business logic to pull a dynamic navigation schema would reside. Any help is greatly appreciated, thanks!

Personally, in most cases I would go down the road of a partial in the
layout. You can populate your instance varaible using a before
filter in you application controller

class ApplicationController < ActionController::Base

before_filter :set_user_menu


def set_user_menu

logic in here to setup the instance variables for the menu



By using a before filter in your application contoller you can be sure that the data will be available for your partial.

If you have situations in a controller where you don’t want this to occur, use the skip_before_filter

class MyController < ApplicationController

skip_before_filter :set_user_menu, :only => [ ‘login’, ‘signup’]


Hope that helps…