通配符搜索不在Heroku上工作

时间:2011-09-11 11:22:05

标签: ruby-on-rails heroku

我的模型中有以下方法:

 #find all the manufacturers names and ids or those matching a search string
  def self.find_all(manufacturer="")
       m_name =  manufacturer.gsub(" ", '%') if manufacturer
    find(:all, :select => 'id, name', :order => "name", :conditions => ["name like ?", "%#{m_name.capitalize}%"])
  end

这在我的本地机器上完美运行,但是当我把它放在Heroku上时效果不太好:如果我进行搜索并输入多个单词,它将不会返回任何值。

Heroku有什么不同?

2 个答案:

答案 0 :(得分:1)

两个想法。 首先,尝试在本地生产模式下运行它:

rails server -e production

也可能是您的远程数据库与本地数据库非常不同。

确保您已完成

rake db:migrate

您也可以选择

rake db:push 

(有关详细信息,请参阅http://devcenter.heroku.com/articles/taps

答案 1 :(得分:1)

我认为它与“赞”声明有关。 mysql和heroku的postgresql有时需要在两者之间切换时修改代码。

也许试试

"name ILIKE ?"

也请查看此答案here。始终最好在开发和生产中使用相同的数据库。