0

我正在使用 rails 3.2,我想让它更加动态。我只想显示活跃的工作(取决于它们的创建日期)

class Job < ActiveRecord::Base
    scope :is_active, lambda { where("created_at >= DATE(?)", 30.days.ago) }
end

我希望能够在我的类型表中添加一个带有数字的列,并以此为基础进行查询。

我添加了我的专栏,我正在寻找这样的东西

class Job < ActiveRecord::Base
    belongs_to :type
    scope :is_active, lambda { where("created_at >= DATE(?)", type.numberofdays) }
end

我不确定要查找什么,我已阅读有关活动记录的文档。如果您需要更多信息,请与我们联系。

4

1 回答 1

0

我认为您不能DATE()仅对单个整数值使用。你用的是什么数据库?要查找Jobs过去的所有type.numberofdays内容,您可以使用具有更新范围的以下内容。

class Job < ActiveRecord::Base
    belongs_to :type
    scope :is_active, lambda { joins(:type).where("created_at >= :newer_than_date", newer_than_date: Date.today - type.numberofdays) }
end

更新 active_by_type::

scope :active_by_type, lambda { |type| joins(:type).where("created_at >= :newer_than_date", newer_than_date: Date.today - type.numberofdays) }
于 2013-07-03T18:43:14.760 回答