【发布时间】:2014-05-23 01:23:25
【问题描述】:
我有几个作用域方法。当我在控制台中调用它们时,我得到了预期的结果。当我查看它们时,未应用范围。无论过滤范围方法如何,我都会看到“全部”。有什么想法吗?
EDIT - 我使用 Ransack 过滤结果,因此使用了 @search。
另外,你们知道将日期时间与 1.year.ago 进行比较的更简洁的方法吗?我下面的内容在控制台中有效,但我确信有更好的比较方法。
提前致谢。
invoice.rb
def self.open
where(closed: false)
end
def self.this_year
current_year = 1.year.ago
where("invoice_date >= ?", current_year)
end
invoices_controller:
def index
@search = Invoice.this_year.open.search(params[:q])
@invoices = @search.result.paginate(:page => params[:page], :per_page => 25)
@count = @invoices.count
render 'shared/invoices.html.erb'
end
【问题讨论】:
标签: ruby-on-rails