【发布时间】:2013-09-10 18:57:51
【问题描述】:
我喜欢在 Rails 中有一个范围,只选择两个日期之间的值。
这是我的例子:
我有一个具有“startDate”和“endDate”属性的模型。两者都有类型 'date'
现在我想选择从今天开始的每个条目,这两个日期之间。
我做了一个看起来像这样的范围。
class Product < ActiveRecord::Base
scope :activeDate, -> { where("? >= ? AND ? <= ?", Time.now.to_date, :saleStartDate, Time.now.to_date, :salesEndDate)}
在控制器中:
@products = Product.activeDate
不幸的是,它不起作用。是否有获取所有条目的rails-way(更漂亮)?
非常感谢。
【问题讨论】:
-
Ruby 约定会将您的范围称为 active_date 而不是 activeDate。
标签: ruby-on-rails scope