Rails使用IF和ELSE语句隐藏基于Page的div

时间:2012-08-18 21:10:28

标签: ruby-on-rails if-statement

我有一个主页,我希望以某种方式显示div,它需要位于应用程序视图的顶部。

Div被归类为“HOME-BANNER”

我正在尝试创建一个IF ELSE语句,以反映隐藏div,如果它不在主页上。

我的问题是如何调用当前页面以将其标识为主视图的索引。我也会结束代码,还是放置else语句来继续页面的其余部分?

<html>
<head>
  <title>WEBSITE</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>

<% if current_page == "home#index" %>
<div class="HOME-BANNER">


<% end %>


<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            <a href="#" class="brand">WEBSITE</a>
                <ul class="nav">
                    <li><%= link_to "All Jobs", jobs_path %></li>
                    <li><%= link_to "My Profile", tempers_path %></li>

                </ul>

                <div class="float-right">

                    <div class="btn-group open">
                          <a class="btn btn-primary" href="#"><i class="icon-user icon-white"></i></a>
                          <a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
                          <ul class="dropdown-menu">
                            <li><i class="icon-pencil"></i><a href="<%= link_to '', edit_user_registration_path %>"> My Profile</a></li>
                            <li class="divider"></li>
                            <li><a href="#"><i class="icon-th-large"></i> Dashboard</a></li>
                            <li><a href="#"><i class="icon-th-list"></i> My Posts</a></li>
                            <li><a href=""><i class="icon-th-list"></i> My Searches</a></li>
                            <li><i class="icon-stop"></i> <%= link_to ' Sign out', destroy_user_session_path, :method => :delete %></li>
                          </ul>
                    </div>
                </div>
        </div>
    </div>
</div>

<div class="container"> 

    <p class="notice"><%= notice %></p>
    <p class="alert"><%= alert %></p>


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

</body>
</html>

1 个答案:

答案 0 :(得分:5)

您想从控制器执行此操作。由于这是一个本地化事件,因此请使用专门承载此View的控制器,而不是应用程序控制器。

def whatever_view_this_is
  @home_banner  = true
end

然后在你看来:

<% if @home_banner %>
  <div class="HOME-BANNER">
<% end %>