假设我有一个小部件,显示我在网站上发布的帖子或评论的摘要信息。
在控制器之间保存此信息的最简洁方法是什么?
在应用程序控制器中包含实例变量似乎是一个坏主意。有一个前置过滤器加载每个控制器的数据闻起来像代码重复。
我是否必须使用像Cells插件(http://cells.rubyforge.org/)这样的插件,或者有更简单的方法吗?
答案 0 :(得分:1)
据推测,您有一个显示此信息的部分。您可以将在ApplicationHelper中获取所需数据的方法或类方法放在您从中获取数据的任何模型上。然后在需要显示时在partial中调用该方法。
答案 1 :(得分:0)
我做了类似的事情:
在controllers / application.rb
中def load_sidebar
@posts = Post.find(:all)
end
要将侧边栏包含在我执行此操作的各种操作中:
before_filter :load_sidebar, :only => [ :index ] #load from application.rb file
我将侧边栏变成了共享部分。
答案 2 :(得分:0)
def load_sidebar
@posts = Post.find(:all)
end
您提到您正在显示摘要信息。如果您不想将所有帖子加载到内存中,可以执行以下操作。
def load_sidebar
@post_count = Post.count(:id)
end