2013-01-19 104 views
0

我有點茫然 - 爲'nil:NilClass'錯誤獲取'未定義的方法'。越來越零:NilClass在Rails中確定日期時的範圍

我在模型

def self.just_added 
     where('created_at > ?', Time.now-7.days.ago).order("created_at desc").first(4) 
    end 

在我看來,一個循環

<% @just_added_jobs.each do |job| %> 
    <%= link_to job.name, job %>   
<% end %> 

不知道這是怎麼回事創建一個漂亮的直線前進範圍 - 我相當certian我」已經創建了一個像以前一樣的工作正常。我還計劃用日期做一些更復雜的範圍界定 - 我有幾個日期字段作爲模型的一部分(即循環通過即將到期的作業)。我在哪裏可以閱讀更多關於範圍日期的內容?

+2

你在控制器中初始化@just_added_jobs嗎? – ply

+0

不,嘆了口氣。我知道我忘記了一件簡單的事。現在工作。 – cpursley

回答

3
  1. 的類方法的告訴你永遠無法nil,所以我們必須斷定你沒有設置@just_added_jobs控制器中的結果。

  2. created_at > Time.now-7.days.ago是沒有意義的,你可能意味着created_at > 7.days.ago

  3. 在示波器上調用first(n)是一個壞主意,因爲結果不是一個範圍了,但一個數組。你需要limit(n)

+0

是的,忘了添加到控制器。 .limit上的提示 - 這更有意義。 – cpursley

+0

「不能永遠」似乎它有太多的負面因素。 –

+0

@Andrew:我不能說我不反對你;-) – tokland