2011-06-16 31 views
0

當我導航到我的應用程序的管理界面中的某個資源時,出現狀態500錯誤。爲什麼會這樣呢?導航管理界面時在我的實時應用程序中的錯誤

這裏是我的日誌:

2011-06-16T21:33:35+00:00 app[web.1]: Started GET "/admin/timeline_events" for 151.205.162.106 at 2011-06-16 14:33:35 -0700 
2011-06-16T21:33:35+00:00 app[web.1]: 
2011-06-16T21:33:35+00:00 app[web.1]: NoMethodError (undefined method `map' for nil:NilClass): 

我怎麼會找到這裏map是在我的應用程序?

OK,所以我認爲這是這個代碼在我的應用助手,可能會導致此

def render_timeline(events, title) 
    events.map do |event| 
    render(:partial => "timeline_events/#{event.event_type}", :locals => {:event => event, :title => title}) 
    end.join.html_safe 
end 

的代碼基本上呈現取決於它是什麼類型的事件來創建一個送不同的諧音。

+0

有沒有更多的細節可以提供,以便我們有更具體的工作內容?這是一個非常模糊的問題 – 2011-06-16 21:40:06

+0

我真的不確定在哪裏看。我還能提供什麼? – 2011-06-16 21:41:00

+0

您的某個控制器或視圖中的呼叫地圖。給我們這些。 – 2011-06-16 21:41:59

回答

1

它看起來像你打電話的方法,但通過nil作爲events參數。

確保當沒有要渲染的事件時,傳遞一個空數組而不是nil

您可以通過添加趕上這在方法的主體:

events ||= [] 

爲第一線,或者你可以使用默認參數:

def render_timeline(events = [], title) 

或者你可以改變你如何生成events參數,因此它永遠不會返回nil

+0

這似乎不工作 – 2011-06-16 22:10:56

+0

你試過哪一個? – Luke 2011-06-16 22:11:33

+0

前兩個,我甚至嘗試添加'除非events.nil?',這也沒有工作,所以這可能不是錯誤的地方 – 2011-06-16 22:15:34

相關問題