2012-03-03 3 views
0

Я унаследовал устаревшее приложение Rails, написанное много лет назад, работающее на версии 2.x. Я все еще борется с обмотанием некоторых основных концепций Rails и ActiveRecord.Как добавить динамический раздел в нижний колонтитул всех моих просмотров?

Я должен добавить динамический поток активности к нижней части каждой страницы, указав последние изменения, которые кто-то сделал.

Чтобы получить поток активности, у меня есть гигантский SQL-запрос обреченности. В моей базе данных Postgres Я поворачивал сказал запрос в простое зрение базы данных (виртуальная только для чтения таблицы, в основном), я могу запросить так:

SELECT * FROM recent_activity LIMIT 4 

Что такое правильный путь для подготовки этих данных для использования в нижний колонтитул на каждой странице в моем приложении?

Должна ли она иметь свою собственную модель? Его собственный контроллер? Могу ли я каким-либо образом включить это на каждую страницу автоматически?

ответ

0

Вам нужно будет предоставить некоторую переменную макету вида с содержимым этого запроса. быстрое и грязное решение приходит на ум, будет использовать «before_filter» в ApplicationController, т.е.

before_filter :get_footer 

     def get_footer 
     # do your sql query here and save it in an instance variable like @footer 
     end 

Это должно установить varieble @footer до требуемого значения и сделать его доступным в представлении.

Затем вы можете добавить строку к глобальному макету приложения, содержащему @footer (возможно, немного отформатируйте вывод)

Смежные вопросы