如何在Rails 3中选择今天生日快乐的用户

时间:2010-11-11 09:19:02

标签: ruby-on-rails activerecord

我正在尝试查询所有在1-2天前过生日的用户,他们今天过生日,从现在起1-2天。

是否可以以纯粹的rails方式进行,而无需编写特定于DB的SQL查询?

用户模型很简单: user_id,name,dob

有一个很好的解决方案here,但这并不是我需要的。

2 个答案:

答案 0 :(得分:6)

User.where(:dob => 2.days.ago .. 2.days.from_now)

会产生WHERE dob BETWEEN 2_days_ago AND 2_days_from_now

答案 1 :(得分:-1)

我有一个解决方案。也许它不优雅,但它对我有用:

@users=User.all

<% @users.each do |u| %>
    <% if u.dob+(Date.today.year-u.dob.year).years >= Date.yesterday && u.dob+(Date.today.year-u.dob.year).years <= Date.tomorrow %>
        <%= u.name %>
    <%end%>
<%end%>