【发布时间】:2014-12-21 15:55:34
【问题描述】:
嗨,过去几个小时我一直在摆弄这个问题,但不确定如何解决以及最佳做法是什么。
我有 2 种类型的内容视图。一个包含用于大多数应用程序的单列,另一个包含两列用于 3 个特定控制器。
这是我目前所拥有的:
app/views/layouts/_content.html.erb
<% if current_user&¤t_page?(controller: companies) %>
<div class="bevel-container">
<div class="row">
<div id="left_navbar" class="col-md-2">
</div>
<div id="right_content" class="col-md-10">
<p>The 2 column partial is showing</p>
<%= yield %>
</div>
</div>
</div><
<% else %>
<div class="container">
<p>The single column partial is showing</p>
<%= yield %>
</div>
<% end %>
这不起作用。我想如果正在使用 company_controller 即<% if current_user&&current_page?(controller: companies) %>,我可以定义此视图,但我不断收到以下信息:
错误
undefined local variable or method `companies' for #<#<Class:0x00000004c2fe58>:0x00000005194a88>
在我的 app/views/layouts/application.html.erb 我有
<div> <!-- Outer Div -->
<%= render 'layouts/top_nav' %>
<%= render 'layouts/content' %>
</div><!-- Close Outer Div -->
我对如何解决这个问题感到有些困惑。我尝试创建一个文件 app/views/layouts/_companies_html.erb 来处理 2 列内容视图,但我不知道将我的 application.html.erb 更改为什么以便在使用公司控制器时呈现 _companies.html.erb -> 这意味着我'我回到<% if current_user&&current_page?(controller: companies) %>。在这里大转转。
谁能解释一下这些东西的最佳实践,以及我如何为公司控制器呈现一个通用布局,而不是为应用程序的其余部分呈现通用布局?
感谢收看
【问题讨论】:
标签: ruby-on-rails partial-views