我在application_helper创建了一个助手:
def birthday(geburt)
f = Date.today
a = f.year - geburt.year
a = a - 1 if (
geburt.month > f.month or
(geburt.month >= f.month and geburt.day > f.day)
)
a
end
现在我尝试在模型中使用这个助手:
patients = patients.where("birthday(geburtsdatum) >= ?", minimum) if minimum.present?
但是你怎么能在错误中看到我没有正确使用我的助手。“geburtsdatum”是我的患者模型中的一个列。谢谢错误:
SQLite3::SQLException: no such function: birthday: SELECT "patients".* FROM "patients" WHERE (birthday(geburtsdatum) >= 15) ORDER BY vorname
我的新代码:
def find_patients
patients = Patient.order(:vorname)
patients = patients.where("nachname like ?", "%#{keyword}%") if keyword.present?
patients = patients.where("#{geburtsdatum.get_birthday} >= ?", minimum) if minimum.present?
patients
end
我的新错误:
undefined local variable or method `geburtsdatum' for #<Search:0x4ee51b8>