2014-03-19 82 views
0

我還是新的鐵軌,我需要你的幫助。我有一個小門票系統。我想用我的不同標籤在我的導航欄(引導程序3)中顯示一個下拉菜單。這是我的票的索引。軌道動態下拉錯誤與application.html.erb

這裏是我的application.html.erb

<li class="dropdown"> 
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Tags <b class="caret"> </b></a> 
    <ul class="dropdown-menu"> 
     <li> 
     <% @tickets.each do |ticket| %> 
     <% ticket.tags.each do |tag| %> 
     <%= link_to tag.name, tag_path(tag) %> 

但在沒有其他網站的工作,當我上面的代碼添加到我的導航欄的一部分。例如,當我想打開標籤時,出現以下錯誤。 (當我刪除上面的代碼,一切都很好。)

未定義的方法`each'爲零:NilClass 提取的源代碼(第32行左右):app/views/layouts/application.html.erb其中第32行提出:

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tags <b class="caret"></b></a> 
     <ul class="dropdown-menu"> 
     <li> 
      <% @tickets.each do |ticket| %> 

你能幫我

回答

1

我不知道你爲什麼希望在應用程序佈局水平(主佈局)訪問@tickets

如果您想要的話,您需要在ApplicationController中設置值@tickets。 您正在收到錯誤,因爲它目前設置爲零。

您可以更新ApplicationController進行如下設置:

class ApplicationController < ActionController::Base 
    before_action :set_tickets 

    private 
    def set_tickets 
    @tickets = Ticket.all ## Assuming that you want all tickets from model Ticket 
    end 

end 

@tickets= Ticket.all變化的查詢按照您的要求。

+0

非常感謝! – user3382438

+0

很高興幫助:) –