我很難過。我想在我的導航欄中使用實例變量來顯示錶格中的動態內容。在部分Rails 4中使用動態實例變量
就文件結構而言,在我的Views中,我有一個/ layouts文件夾。在該文件夾中,有一個_header.html.erb用於位於視圖中的導航欄,該視圖通過<%= render 'layouts/header' %>
位於application.html.erb文件中。
現在,它變得粘稠。在我的導航欄中,我有一組鏈接。我希望它使一個實例變量作爲一個鏈接(它顯示的文本,而不是路徑),所以我寫:
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Settings", edit_user_registration_path %></li>
<li><%= link_to "My Example", myexample_path %></li>
<li><%= link_to @example, stack_path %></li>
</ul>
我曾嘗試做兩個不同的東西與實例變量。
所以我需要定義@example = Stack.where(user_id: current_user.id).pluck(:points)
返回一個我想放置在該導航欄中的數字。我曾嘗試將該實例放置在應用程序控制器和中,方法是製作佈局控制器並將其放置在def index
中。
因此,我的問題是:創建一個實例變量來讀取這個_layouts.html.erb文件,哪個控制器適合使用?
作爲最後一點,我是否將它添加到應用程序控制器或佈局控制器,它不會呈現。如果我刪除了@example
實例,而是放置了靜態文本,則會將其添加到導航欄中。所以這似乎是我的問題。
<%=渲染 '標頭' %>嘗試這個或放header.htm.erb在共享目錄並使用這個<%= render'shared/header'%> – uzaif
@uzaif - 要明確一點,layouts/_header.html.erb實際上是渲染,除了動態內容之外。我很困惑,如果我想存儲一個實例變量,需要使用哪個控制器將它連接到頭文件。你的解決方案是否解決這個問題 – darkginger
在應用程序控制器中寫入方法並在過濾器之前訪問它,並返回header.html.erb中所需的變量 – uzaif