我正在为我的新公司建立一个网站,并希望为我的产品创建一个没有导航栏或页脚的登录页面。我希望简化目标网页,只关注产品。
我在Ruby on Rails中进行编码。 Twitter Bootstrap就是我用来设置导航栏和页脚的样式。
我的主页和关于页面的导航栏和页脚,但我不希望我的产品登录页面有导航栏和页脚。
有关如何在导航页面上隐藏导航栏和页脚的任何建议,但请将其保留在其他页面上?
答案 0 :(得分:11)
要添加到code.prio
的答案,您可以在application
布局中使用条件语句(省去了维护两个布局的麻烦):
#app/views/layouts/application.html.erb
<% unless controller_name == "landing" %>
... navbar ...
<% end %>
不如其他答案那么漂亮,但效果更好。如果您有多个布局,则必须同时维护它们会很烦人。
答案 1 :(得分:7)
是的,你可以做到。一种简单的方法是使用不同于默认application.html.erb
的登录页面控制器的布局文件。在您想要的模板页面中,编写一个自定义布局名称,它将支持不同类型的规范。让我举个例子,
class SiteController < ApplicationController
layout "landing_page"
...
end
这将为您的网站加载具有不同视图的不同布局,而默认布局可以包含基本导航栏和其他页面的产品。
谢谢。希望这种方式能解决你的问题。
访问此链接以获取更多信息。 ActionView API Docs
答案 2 :(得分:5)
这很简单:
# application.html.erb
<% unless action_name == "index" %>
# render the footer partial "_footer.html.erb" file from "shared" folder
<%= render 'shared/footer' %>
<% end %>
答案 3 :(得分:1)
我有同样的问题,我这样解决了:
#app/views/layouts/application.html.erb
<% unless action_name == "landing" %>
... navbar ...
<% end %>
使用action_name
代替controller_name
。