Вы можете сделать что-то вроде этого:
Определение переменных экземпляра контроллера общего назначения с помощью методов доступа, где хранится текущий класс модели и экземпляр:
class ApplicationController
attr_accessor :current_model_class, :current_model_instance
helper_method :current_model_class, :current_model_instance
end
В частности, контроллер присваивает им значения (вы можете поместить их также в некоторые фильтры до или после):
class SomeController < ApplicationController
def index
self.current_model_instance = SomeModel.find(params[:id])
self.current_model_class = SomeModel
end
end
Определите одинаковые методы класса и экземпляра во всех моделях, которые будут получать данные для макета:
class SomeModel < ActiveRecord::Base
def self.get_data
# get class specific data
end
def get_data
# get instance specific data
end
end
И используйте его в файле макета:
<div id="footer"><%= current_model_instance.get_data %></div>
или
<div id="footer"><%= current_model_class.get_data %></div>