之前已经讨论过这个话题,但我是新的并试图理解。我的应用程序旨在存储项目的位置,因为时间很重要,我想创建一个视图链接,只显示两周或更长的地方。我理解我应该在模型中创建一个类似于下面的方法,但我对此代码感到困惑。我一直在努力寻找阅读材料以便更好地理解。主页显示所有地方,但我想要一个也显示2周或更长时间的链接。
除了帮助,我还是喜欢任何好的读物,以帮助我更好地理解。非常感谢SO!
def self.recent_places
Place.select("p.*, COUNT(v.id) AS count").where("post.created_at >= 2.week.ago.utc")
end
这是GitHub的链接。 https://github.com/Mbartlett413/DumpStack
答案 0 :(得分:2)
我建议使用范围超类方法,尽管两个大致相同:
scope :older_than, ->(time) { where("created_at < ?", time) }
使用:
Post.older_than(2.weeks.ago)
Post.older_than(1.month.ago)
在这里:http://guides.rubyonrails.org/active_record_querying.html#passing-in-arguments
答案 1 :(得分:0)
我实际上只是为自己的应用解决了这个问题,这是我在模型中使用的方法:
scope :recent_places, -> {
where(Place.arel_table[:created_at].lt(2.weeks.ago))
}