我正在为我的新公司构建网站,并且希望为我的产品创建一个没有导航栏或页脚的着陆页。我想让着陆页简单,只关注产品。隐藏某些页面上的导航栏和页脚
我在Ruby on Rails中编码。 Twitter Bootstrap就是我用来设计导航栏和页脚的样式。
我的主页和关于页面有一个导航栏和页脚,但我不希望我的产品着陆页有导航栏和页脚。
关于如何在我的着陆页上隐藏导航栏和页脚的任何建议,但请将其保存在我的其他页面上?
我正在为我的新公司构建网站,并且希望为我的产品创建一个没有导航栏或页脚的着陆页。我想让着陆页简单,只关注产品。隐藏某些页面上的导航栏和页脚
我在Ruby on Rails中编码。 Twitter Bootstrap就是我用来设计导航栏和页脚的样式。
我的主页和关于页面有一个导航栏和页脚,但我不希望我的产品着陆页有导航栏和页脚。
关于如何在我的着陆页上隐藏导航栏和页脚的任何建议,但请将其保存在我的其他页面上?
是的,你可以做到。一种简单的方法是使用除默认application.html.erb
以外的着陆页控制器的不同布局文件。在你想要的模板页面上写下一个自定义的布局名称,它将支持不同类型的规范。让我举一个例子,
class SiteController < ApplicationController
layout "landing_page"
...
end
,只要你想为您的网站这将加载一个不同的布局与不同的看法,而默认的布局可以容纳其他页面的基本导航栏和产品。
谢谢。希望这种方式能解决你的问题。
请访问此链接了解更多信息。 ActionView API Docs
为了增加code.prio
的答案,你可以只使用一个条件语句在application
布局(保存保持两个布局的麻烦):
#app/views/layouts/application.html.erb
<% unless controller_name == "landing" %>
... navbar ...
<% end %>
不一样漂亮对方的回答,但效果更好。如果你有不止一个布局,它会烦恼不得不维护它们。
,这也是做这件事的好方法。 –
我有同样的问题,我解决了它这种方式:使用action_name
代替controller_name
#app/views/layouts/application.html.erb
<% unless action_name == "landing" %>
... navbar ...
<% end %>
。
这很简单:
# application.html.erb
<% unless action_name == "index" %>
# render the footer partial "_footer.html.erb" file from "shared" folder
<%= render 'shared/footer' %>
<% end %>
一个完美的答案。 – sahil
谢谢。完美工作。花了我大约30分钟来弄清楚如何将所有东西连接在一起。因为我对Web应用程序开发很陌生,所以对我来说有很好的学习体验。谢谢先生, –