Rails 3全球数据最佳实践



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

显然,表现是我最关心的问题。

这就是我目前在应用程序助手中检索数据的方式

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

您可以在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。助手不需要(也可以说不应该)获取数据,因为它现在已经在实例变量中了,只需将其传入即可。

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

相关内容

  • 没有找到相关文章

最新更新