首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3全局数据的最佳实践

Rails 3全局数据的最佳实践
EN

Stack Overflow用户
提问于 2012-07-21 02:09:04
回答 2查看 289关注 0票数 0

我目前正在我的应用程序布局中的一个部分上呈现一个JQuery插件。这部分调用了一个我的应用程序助手方法,该方法检索使用Sunspot-solr生成的数据。它检索的数据是最近创建的前30条记录,这些记录跨不同的模型、上传、用户、文章等创建。我想知道,如果这些数据出现在我的应用程序中的每个视图上,那么加载这些数据的最佳实践是什么?

显然,性能是我最关心的问题。

这就是我目前在我的Application helper中检索数据的方式:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-21 02:13:16

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

伪代码:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2012-07-21 06:24:17

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11584731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档