在某些动作上部分渲染

时间:2013-12-14 16:47:42

标签: ruby-on-rails

可能是一个新手问题,但当我的用户访问job #index时,我想显示存储在我的视图/布局中的部分名为_subnav.html.erb。

这只需要在用户处于作业#index。

时进行渲染

有人可以帮助我,但也了解它是如何运作的。

1 个答案:

答案 0 :(得分:1)

我建议您使用content blocks

在布局文件中,例如layout / application.haml,将此代码放在要渲染子区域的位置:

= content_for :subnav

..并在您的视图文件(jobs / index.haml)

- content_for :subnav
    = render partial: 'layouts/subnav'

其他几种选择:

  1. 检查布局文件中的控制器#操作,仅显示作业#index
  2. 添加一个简单的@show_sub_nav实例变量,并在控制器中设置为true。在您的布局文件中:= render partial: 'layouts/subnav' if @show_sub_nav
  3. 您可以通过my answer here了解如何实现(2)。