我的模型中有这行代码:
pay_period = TimesheetPayPeriod.find(:first, :conditions => ["start_date <= ? AND end_date >= ?", date.to_date, date.to_date])
我收到此错误:
ActiveRecord :: RecordNotFound(无法找到所有带有&#39; id&#39;的TimesheetPayPeriod :(首先,{:conditions =&gt; [&#34; start_date&lt; =?AND end_date&gt; = ?&#34;,星期五,2017年3月3日,星期五,2017年3月3日]})(找到0结果,但正在寻找2)):
这个错误意味着什么,我该如何纠正?
答案 0 :(得分:2)
更改查询以使用新语法
pay_period =
TimesheetPayPeriod.where("start_date <= ? AND end_date >= ?", date.to_date, date.to_date).first
答案 1 :(得分:2)
.find()
期待id的值。所以例如.find(34)
。
您可以尝试使用.where()
pay_period = TimesheetPayPeriod.where("start_date <= ? AND end_date >= ?", date.to_date, date.to_date)
您可能想检查args有效的文档,但认为这应该有效。