2011-11-23 61 views
1

在我的本地服务器(轨道& MySQL的),我可以运行一个简单的搜索是这样的:Heroku的简单的搜索

 find(:all, :conditions => ['name LIKE ?', "%#{search}%"]) 

如果我通过在搜索参数,并试图以匹配名称字段中特定的模型。但是,我在heroku上的应用程序没有得到任何结果,而在heroku控制台中,我也没有得到任何结果。

我知道heroku不运行MySQL,任何人都可以解释为什么这不起作用,最简单的方法。

更新: 经过玩弄和研究(现在我知道在哪里看),MySQL中的LIKE不区分大小写。它仍然在heroku上运行,但因为区分大小写而抛弃了我。 ILIKE是部署在heroku上的解决方案。

+0

你可以粘贴你得到任何错误?你是否运行迁移? – kain

+0

对不起,错误的,没有错误,只是没有结果返回heroku。所有迁移都在运行和运行。 –

+1

你可以尝试'find(:all,:conditions => ['name ILIKE?','%#{search}%“])''而不是? – tbuehlmann

回答

0

如果你部署到Heroku,我真的会建议在本地运行Postgres。不管你的代码和测试有多好,如果你部署到不同的堆栈,你会看到各种各样的问题。

在PG土地,你需要这样的:

find(:all, :conditions => ['name ILIKE ?', "%#{search}%"])