在Rails应用程序(版本3.2)中,控制器必须根据特定操作中的不同条件使用条件布局。
def index
if dp_allowed?
//use a different layout
else
//render diff layout
end
end
现在,我试着使用
layout :user_layout
def user_layout
if dp_allowed?
"file1"
else
"file2"
end
end
上面的代码总是期望layouts文件夹后面的路径相对于layouts文件夹。如何使用app/views/containers/users/_user_detail.html.erb
<div class="app-pane-header">
<div id="title" class="pane-title">
<%= yield :d_title %><%= yield :additional_title %></div>
<%= yield :details %>
在我的例子中,这是file1如果我只使用
,效果很好 layout 'file1'
你可以给你的布局传递一个绝对路径。最好是相对于您的Rails.root
文件夹进行操作,这样它就可以在本地和生产机器上工作。如
layout File.join(Rails.root, "app/views/containers/users/_user_detail.html.erb")