【发布时间】:2013-01-10 09:43:53
【问题描述】:
我有一个搜索栏,在开发环境中在 localhost 上运行时执行不区分大小写的搜索,但是当我推送到 Heroku 并在生产环境中运行时,搜索是区分大小写的。不确定是什么导致了这种行为。
来自 app\views\layouts\application.html.erb:
<form class="navbar-search pull-right">
<input type="text" class="search-query span3" placeholder="Find Some Beers" name="search">
</form>
来自 app\controllers\ratings_controller.rb:
def search
fff = Rating.search(params[:search])
@ratings_by_name = fff.paginate(:order => 'name ASC', :page => params[:page], :per_page =>10)
@ratings_by_score = fff.paginate(:order => 'score DESC', :page => params[:page], :per_page =>10)
end
来自 app\models\rating.rb:
def self.search(query)
words = query.to_s.strip.split
words.inject(scoped) do |combined_scope, word|
combined_scope.where("name LIKE ?", "%#{word}%")
end
end
谢谢!
【问题讨论】:
-
您是否在开发和生产中使用不同的数据库(例如,开发中的 sqlite 和生产中的 postgres)?
-
您使用的是哪种数据库?如果是mysql,请提供
SELECT TABLE_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS;表评分。
标签: ruby-on-rails heroku production-environment case-insensitive dev-to-production