在我的应用中,我的模型invoice
具有属性invoice_date
。
在我的Ransack搜索表单中,我想要一个month
和year
选择框,根据这些值,我想要在此期间内返回发票日期的发票。
但month
和year
不是模型属性,因此我无法使用f.select :month_eq
和f.select :year_eq
。我怎么能这样做?
我调查ransackers
并在我的invoice
模型中创建了这个:
ransacker :month do
year = 2015
where("invoice_date >= ? and invoice_date <= ?", Date.new(year,month,1), Date.new(year,month).end_of_month)
end
如何在此搜索中使用month_eq
?如何退回发票集合?
答案 0 :(得分:0)
由于我理解了您的问题,您需要一组与给定月份匹配的结果。所以在你的搜索者中,使用以下
ransacker :month do
where("extract(month from created_at) =? AND extract(year from created_at) =? ",Date.today.month, 2015)
end