2012-03-03 76 views
0

我已经继承了几年前编写的旧版Rails应用程序,运行于2.x版。我仍然为了围绕Rails和ActiveRecord的一些基本概念而苦苦挣扎。如何将动态部分添加到所有视图的页脚?

我想在每个页面的底部添加一个动态活动流,列出某人所做的最新更改。

要获得活动流,我有一个巨大的厄运SQL查询。在我的Postgres数据库我已经把所说的查询到一个简单的数据库视图(虚拟只读表,基本上)我可以查询这样的:

SELECT * FROM recent_activity LIMIT 4 

什么是适当的方式在准备使用这个数据页脚在我的应用程序中的每一页上?

它是否应该有自己的模型?它自己的控制器?我可以以某种方式自动将它包含在每个页面上吗?

回答

0

您将不得不提供一些变量与视图布局与此查询的内容。 一个快速和肮脏的解决方案来头脑是使用在ApplicationController中的“的before_filter”,即

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的全局应用程序布局(可能会格式化输出一点)

相关问题