Active Record .where找到与要求不匹配的结果

时间:2016-07-12 21:03:17

标签: ruby-on-rails activerecord

我试图抓取我的表中所有在一列中具有特定值的条目,但我的查询返回该列中的nil值的结果。

Merit::ActivityLog.where(:related_change_type== 'Merit::BadgesSash')

返回一个条目

#<Merit::ActivityLog id: 60, action_id: 102, related_change_type: nil, related_change_id: nil, description: "description text", created_at: "2016-07-12 19:58:05">

2 个答案:

答案 0 :(得分:2)

我认为你的查询应该是:

Merit::ActivityLog.where(related_change_type: 'Merit::BadgesSash')

答案 1 :(得分:0)

尝试Merit::ActivityLog.where(related_change_type: 'Merit::BadgesSash')。如果它不起作用,解决方法将是Merit::ActivityLog.where(related_change_type: 'Merit::BadgesSash').reject{|l| l.related_change_type.nil?},但不推荐......