相关疑难解决方法(0)

SQLite3"LIKE"或PostgreSQL"ILIKE"的通用Ruby解决方案?

我使用SQLite3进行开发,使用PostgreSQL进行部署.但是,我面临以下问题:

我的简单搜索使用SQLite3:

def self.search(search)
    if search
      find(:all, :conditions => ["style LIKE ? OR construction LIKE ?", "%#{search}%", "%#{search}%"])
    else
      find(:all)
    end
end
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用PostgreSQL,我需要替换LIKEfor ILIKE来解决问题:

def self.search(search)
    if search
      find(:all, :conditions => ["style ILIKE ? OR construction ILIKE ?", "%#{search}%", "%#{search}%"])
    else
      find(:all)
    end
end
Run Code Online (Sandbox Code Playgroud)

是否有"Ruby方式"在任何数据库中进行这些搜索?

编辑 - 基于您的答案我不相信我会找到一个通用的Ruby解决方案.

我也跟着Ruby on Rails的教程:学习的榜样导轨-由迈克尔·哈特尔,在最终的Gemfile显示这两个数据库...嗯,令人失望...

sqlite postgresql search ruby-on-rails pattern-matching

17
推荐指数
3
解决办法
7398
查看次数