如何在除主页之外的每个页面添加侧边栏?

时间:2013-11-25 18:16:20

标签: html css ruby zurb-foundation

我计划使用Foundation创建一个侧栏,该侧栏将显示在除主页之外的所有页面上。我知道我必须做一个"如果" application.html.erb中的声明可以做到这一点,但我不知道如何命名页面。这是我对我需要的含糊不清的想法:

if (homepage)
    else 
        <ul class="side-nav">
            <li><a href="#">Link 1</a></li>
            <li><a href="#">Link 2</a></li>
            <li><a href="#">Link 3</a></li>
            <li><a href="#">Link 4</a></li>
        </ul>

我该怎么办?

3 个答案:

答案 0 :(得分:2)

您可以使用params [:controller]和params [:action]查看正在呈现的页面。可能你应该把它包装成像is_homepage?这样的帮手。您还可以考虑为主页使用单独的布局。

是的,你可以做到

unless is_homepage?
  #code
end

答案 1 :(得分:1)

您可以使用名为current_page的帮助程序吗?并把它放在你的模板中。

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-current_page-3F

答案 2 :(得分:0)

如果您使用的是Rails,则可以检查params[:controller]的值。 例如:

- if params[:controller] == 'main'
  // ....
- else 
  // ...

或者,如果您使用的是Sinatra:

get('/') do
    title "Home"
    haml :home, format: :html5, locals: { show_sidebar: false }
end

并在视图中使用show_sidebar变量。

我希望有所帮助。