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
…
private
def set_user_menu
logic in here to setup the instance variables for the menu
end
end
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’]
…
end
Hope that helps…