2012-07-20 70 views
0

我目前正在我的应用程序布局中的某个部分渲染一个JQuery插件。这部分调用一个我的应用程序帮助器方法,该方法检索使用太阳黑子解决方案生成的数据。它检索的数据是在各种模型,上传,用户,文章等创建的前30个最近创建的记录。我想知道如果加载这些数据,如果它出现在我的应用程序的每个视图中,最佳做法是什么?Rails 3全球数据最佳实践

显然表现是我最关心的。

这是我当前如何获取我的应用助手的数据:

def get_updates 
    @updates = Sunspot.search(Upload,Help,User) do  
     order_by(:created_at, :desc) 
     paginate page: 1, per_page: 30 
    end 
    @updates = @updates.results 
end 

回答

0

你可以在你的ApplicationController取在before_filter数据。然后它将可用于整个应用程序中的任何控制器中呈现的任何视图。

伪代码:

class ApplicationController 

    before_filter :load_top_30 

    private 

    def load_top_30 
     @top_30 = Records.find() # whatever code you need to fetch the records 
    end 

end 

现在你可以在任意视图@top_30。该帮助程序没有(也可能不应该)需要获取数据,因为它现在已经在一个实例变量中,只是将其传入。

0

如果这只是您希望全局显示的一个项目,那么在ApplicationController应该没问题,如果你有很多这样的元素,那么你可能想看看Cells,它们基本上都是可重用的子控制器,你可以从你的视图或控制器中调用它们。