2

我有一个索引页面,我决定在其中呈现用户名、帖子和其他信息源。由于 Devise 负责用户创建和登录会话管理,我知道需要有多个控制器。

PostsController、DashboardController 和 RandomController。计划是让它们呈现在页面的不同部分,具有不同的大小和不同的位置。

假设我有Post.find(:all => :order => "created_at DESC")PostsController。我想在页面上的某个地方呈现它。我想在属于他们的相应帖子下呈现用户名,并且我想呈现一些仍然“随机”的控制器动作,它将在页面上的某个随机位置发布新闻。

回顾一下:

PostsController 查找并呈现索引页面的某些部分,我猜 DeviseControllers 呈现属于相应用户名的用户名,而 Random 控制器呈现来自新闻或页面中间的一些随机内容。其中所有这些都发生在另一个名为 DashBoard 的控制器上。因此,所有这些控制器操作都应该在自己的 DashBoard 控制器索引视图上呈现。

关于如何实现这一点的任何提示或好主意。我知道部分渲染,但我不知道如何实现。

4

1 回答 1

1

看来我们正在谈论由 Dashboard#index 呈现的视图。因此,您需要做的就是将页面上的所有信息定义为索引操作下的实例变量。

可能您缺少的信息是控制器可以自由使用来自任何模型的数据(甚至是其他不从 ActiveRecord::Base 继承的类)。

例如,在 Dashboard#index 中,您可以拥有:

@posts = Post.order("created_at DESC").all

这是指与仪表板模型不同的模型(假设存在一个)。

于 2013-01-25T21:59:00.440 回答