2017-03-07 131 views
1

未發現記錄的錯誤,我在我的模型中,這行代碼:ActiveRecord的:模型

pay_period = TimesheetPayPeriod.find(:first, :conditions => ["start_date <= ? AND end_date >= ?", date.to_date, date.to_date]) 

和我收到此錯誤:

ActiveRecord::RecordNotFound (Couldn't find all TimesheetPayPeriods with 'id': (first, {:conditions=>["start_date <= ? AND end_date >= ?", Fri, 03 Mar 2017, Fri, 03 Mar 2017]}) (found 0 results, but was looking for 2)):

這個錯誤是什麼意思,以及如何能我糾正它?

+0

這是一個非常古老的語法,你是否在某處找到這個在線或繼承了一個古老的項目? – Iceman

+0

繼承一個古老的項目! – Archie123

回答

2

更改查詢,以使用新的語法

pay_period = 
    TimesheetPayPeriod.where("start_date <= ? AND end_date >= ?", date.to_date, date.to_date).first 
+0

感謝這工作 – Archie123

2

.find()期待的id的值。所以它會是.find(34)例如。

你能嘗試使用.where()

pay_period = TimesheetPayPeriod.where("start_date <= ? AND end_date >= ?", date.to_date, date.to_date) 

您可能要檢查ARG遊戲有效的文檔,但認爲這應該工作。

+1

謝謝冰人,編輯答案 – Brad