RAILS查询 - 如何使用'where'方法 - rails 4

ART*_*Loe 2 ruby-on-rails ruby-on-rails-4

我是铁杆新手 - 任何帮助都会非常感激.

  • 我有一份创建工作的清单 adverts
  • Advert 是一个模型
  • 在架构中Advert是一个包含列的表title,content&deadline
  • 我想只显示adverts whose deadline are '= or >' than Date.current(有效广告)

不幸的是我不确定该怎么做.我在控制台中尝试了以下内容:

active_adverts = Advert.where(:deadline > Date.current)
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何显示截止日期大于当前日期的广告吗?

Zor*_*ran 6

您可以使用以下语法:

active_adverts = Advert.where('deadline >= ?', Date.current)    
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!

  • 您还应该检查范围.如果你在广告模型中创建一个范围,例如:`scope:active, - > {where("deadline> =?",Date.current)}`那么你可以在广告上进行activerecord查询时重复使用,例如`Advert.active`或者如果用户has_many广告`@ user.adverts.active` (3认同)