Enum不适用于rails中的Clause

时间:2015-12-15 14:48:35

标签: ruby-on-rails activerecord enums

enum gender: [:Male, :Female]

当我查询

User.where(:gender => "Female", :created_at => 0.days.ago.beginning_of_day..Time.current

它根据查询不起作用。它仍指着Male.How我修复了吗?

2 个答案:

答案 0 :(得分:0)

将枚举设为:

enum gender: [:male, :female]

如下查询:

User.female.where(created_at: 0.days.ago.beginning_of_day..Time.current)

此外,我相信您可以使用以下设置来更好地了解和理解:

在app / models / user.rb中

,设置持续时间范围:

scope :today, -> { where(created_at: Time.now.beginning_of_day..Time.now) }

并且像这样查询:

User.female.today

答案 1 :(得分:0)

你也可以这样做:

User.where(gender: User.genders[:Female], 
           created_at: 0.days.ago.beginning_of_day..Time.current)