我是RoR的新手,并使用布局/部分/渲染,所有这些好东西,制作应用程序。在我的应用程序的开头,我以为我会对整个应用程序使用相同的标题,因此写道:
render 'layouts/header'
在我的application.html.erb
文件中。现在,我意识到对于某些页面(即注册页面和博客),我想使用名为simple_header
的简化页眉。我是否写了类似
<%= if @simple_header
render 'layouts/simple_header'
else
render 'layouts/header'
%>
然后测试@simple_header
是否为真或控制器中的某些内容,或者是否有更好的方法来执行此操作。感谢。
答案 0 :(得分:3)
在rails中,您可以创建不同的布局,并选择用于特定操作或控制器的布局。
观看此railscast http://railscasts.com/episodes/7-all-about-layouts
这应该可以帮助您解决问题。
例如。,
在app/views/layouts
中创建一个新布局,比如simple_header.html.erb
,然后在控制器中告诉它使用该布局。
class BlogController < ApplicationController
layout :simple_header
def index
end
end
答案 1 :(得分:1)
另外(如果你有简单的逻辑)考虑使用
像这样的方法:CURRENT_PAGE?
<% if current_page?(controller: 'sites', action: 'index') %>
...
<% else %>
...
<% end%>