如果页面在ROR上更改,则创建条件以隐藏渲染

时间:2018-01-24 10:14:48

标签: ruby-on-rails ruby ruby-on-rails-4

我使用camaleon CMS在rails上有默认模板,如下所示:

<header id="header">
      <div class="container">
        <div class="logo text-center">
          <%= link_to 'welcome' do %>
            <%= image_tag('kopihub-logo.jpg', class: 'img-responsive') %>
          <% end %>
          <div class="spasi"></div>
        </div>
      </div>

      <!-- Partial Header -->
      <%= render 'partials/header' %>

    </header>


    <!-- Partial Section -->
    <%= render 'partials/main' %>


    <div class="container">
      <%= yield %>
    </div>

如果页面从默认值更改(ex = localhost:3000),我想创建条件,然后所有部分渲染都将被隐藏(不显示在其他页面上,ex = localhost:3000 / about将不会显示所有部分渲染)。创建另一个视图文件很困难,因为我使用CMS并自动生成页面并显示在yield部分。 任何人都可以帮我解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用这样的条件进行部分渲染:

<%= render('partials/header') if request.fullpath=='/' %>

如果您在根页面上,这只会呈现部分内容。

您似乎无法修改控制器,但如果您可以选择这种控制器,则应创建单独的布局并在相应的控制器中使用它。