如何在同一页面上显示索引和实例项?

时间:2011-02-03 04:00:10

标签: templates ruby-on-rails-3 view

我有很多帖子。

  • 我希望对于索引操作,帖子列表应显示在侧边栏中,并在右侧显示一些随机文本。
  • 对于显示特定帖子的操作,帖子列表仍应显示在侧栏中,帖子本身也应显示在右侧。 (有关详细信息,请参阅附图)

enter image description here

在Rails中执行此操作的成语是什么?什么是“正确的”方式?

更新

@coreyward,谢谢:
所以,我会:

  • _sidebar_list.html.erb(发布帖子列表)
  • index.html.erb =>渲染侧边栏和随机文本
  • show.html.erb =>渲染侧栏和帖子

然后,布局(左侧栏,右侧内容)(图片中的黑匣子) 需要在索引和显示模板中重复。 这个解决方案是另一个部分(包含左侧栏,右侧内容) 然后在索引中呈现该部分并显示?

1 个答案:

答案 0 :(得分:1)

我假设您知道如何处理HTML,并且您已经知道了“随机内容”。也就是说,index动作应该非常简单:抓住帖子集合并在侧边栏中呈现链接。将它们放在像“_sidebar_list.html.erb”这样的部分并将其从那里渲染出来是有意义的:

<%= render :partial => 'sidebar_list', :collection => @posts %>

对于您的show操作,您可能希望获取相同的帖子集合,以便在控制器的侧边栏中显示...例如:

@post = Post.find(params[:id])
@posts = Post.all

然后,除了显示当前帖子的数据外,还可以在节目视图中呈现侧边栏列表。

<nav>
  <!-- render line from above -->
</nav>

<article>
  <h1><%= @post.title</h1>
  ...
</article>

希望能帮助您开始朝着正确的方向前进。如果您对任何事情都不清楚,请随时发表评论。