rails 3,在heroku上,如何在一个字段中查询2个不同值中的任何一个?

时间:2011-03-18 22:56:34

标签: ruby-on-rails activerecord

我正在尝试查找所有.user字段都是两个值的消息。

.user是一个字符串

   @msgs = Foo.find :all, 
      :order => 'created_at ASC', 
      :conditions => [ "(user = ?) OR (user = ?)", @user1, @user2]

此查询,在heroku(postgres)上始终返回空

在本地运行,它按预期返回数据。

为什么这不起作用?我绝对肯定@ user1和@ user2中的值匹配.user字段中的数据,因为当我删除条件然后使用相同的变量名称在VIEW中过滤它可以正常工作。

2 个答案:

答案 0 :(得分:1)

问题是postgres显然不喜欢有一个名为'user'的字段,当我更改它完美运行的字段名时。

答案 1 :(得分:0)

也许是区分大小写的问题?我相信postgres默认情况下区分大小写。

尝试

 :conditions => [ "UPPER(user) = UPPER(?) OR UPPER(user) = UPPER(?)", @user1, @user2]