嗨我在過去的幾個小時裏一直在擺弄這個,我不確定如何解決,以及做這件事的最佳做法是什麼。Rails - 渲染特定控制器通用的視圖
我有2種類型的內容視圖。一個用於大多數應用程序的單列,另一個用於兩列,我想用於3個特定的控制器。
這是我到目前爲止有:
應用程序/視圖/佈局/ _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 %>
這是行不通的。我以爲我可以,如果正在使用即<% if current_user&¤t_page?(controller: companies) %>
的companies_controller來定義這個觀點,但我不斷收到如下:
錯誤
undefined local variable or method `companies' for #<#<Class:0x00000004c2fe58>:0x00000005194a88>
在我應用程序/意見/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_controller時呈現_companies.html.erb
- >這意味着我回到了<% if current_user&¤t_page?(controller: companies) %>
。在這裏繞圈轉悠。
任何人都可以解釋這個東西的最佳做法,以及我如何去爲公司控制器渲染一個公共佈局,而不是爲其他應用程序的公共佈局?
感謝您尋找
這很好。謝謝@keyzee –