我试图为未来的事件创建一个作用域,事件的日期是基于活动日期的,在我的事件模型中有一个名为end_at的方法,但是当我试图为我的控制器创建一个作用域时
PG::UndefinedColumn: ERROR: column "end_at" does not exist事件模型
has_many :activities, dependent: :destroy
scope :future_events, -> { where('end_at >= ?', Date.today) }
def end_at
activities.chronological.last.end_at
end发布于 2016-02-10 09:35:41
用方法查询是不可能的。你可以这样做:
scope :future_events, lambda {
joins(activities: :chronological)
.where('chronologicals.end_at >= ?', Date.today)
}描述:
joins中,你放置了关联的名称;where中,您将表的实名放在数据库中如何命名(它们有时恰好与模型的关联名称不同)。这个范围基本上是说您希望返回未来的事件,其中它的活动的时间顺序的end_at属性是>= Date.today。
https://stackoverflow.com/questions/35311227
复制相似问题