我正在尝试查询所有在1-2天前过生日的用户,他们今天过生日,从现在起1-2天。
是否可以以纯粹的rails方式进行,而无需编写特定于DB的SQL查询?
用户模型很简单: user_id,name,dob
有一个很好的解决方案here,但这并不是我需要的。
答案 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%>