我有一个索引页面,我决定在其中呈现用户名,帖子和其他信息来源。由于 Devise 负责用户创建和登录会话管理,我知道需要有多个控制器。
PostsController,DashboardController和RandomController。计划是使它们呈现在页面的不同部分,具有不同的大小和不同的位置。
假设我在PostsController中有Post.find(:all => :order => "created_at DESC")
。我想在页面上的某个位置呈现它。我想在belongs_to用户名的相应帖子下呈现用户名,并且我想渲染一些仍然"随机"的控制器操作,该操作将在页面上的某个随机位置发布新闻。
所以回顾一下:
PostsController 查找并呈现索引页面的某些部分,我猜 DeviseControllers 渲染属于相应页面的用户名,随机控制器渲染来自新闻或页面中间某些内容的随机内容。在所有这些中,所有这些都发生在另一个名为DashBoard的控制器上。因此,所有这些控制器操作都应该在自己的 DashBoard 控制器索引视图上呈现。
关于如何实现此目的的任何提示或好主意。我知道部分渲染,但我不知道如何实现。
似乎我们正在谈论由 Dashboard#index 呈现的视图。因此,您需要做的就是将页面上的所有信息定义为索引操作下的实例变量。
您可能缺少的一点信息是控制器可以自由使用来自任何模型(甚至是不继承自 ActiveRecord::Base 的其他类)的数据。
例如,在仪表板#索引中,您可以拥有:
@posts = Post.order("created_at DESC").all
这是指与仪表板模型不同的模型(假设存在)。