相关疑难解决方法(0)

Rails模型中不区分大小写的搜索

我的产品型号包含一些商品

 Product.first
 => #<Product id: 10, name: "Blue jeans" >
Run Code Online (Sandbox Code Playgroud)

我现在从另一个数据集导入一些产品参数,但名称的拼写有不一致之处.例如,在其他数据集中,Blue jeans可以拼写Blue Jeans.

我想Product.find_or_create_by_name("Blue Jeans"),但这将创造一个新产品,几乎与第一个相同.如果我想找到并比较小写的名字,我有什么选择.

性能问题在这里并不重要:只有100-200个产品,我想将其作为导入数据的迁移来运行.

有任何想法吗?

activerecord ruby-on-rails case-insensitive

206
推荐指数
12
解决办法
11万
查看次数

使用%Wildcards的Rails SQL查询在SQLite中工作但在PostgreSQL中不起作用?

我有一个查询我用于搜索:这样的条件:

:conditions => ['family_name LIKE ? OR given_name LIKE ?', "%#{params[:search]}%", "%#{params[:search]}%"]
Run Code Online (Sandbox Code Playgroud)

查询在SQLite上本地工作正常,但是当我在PostgreSQL上推送到Heroku时,只有第一个%适用于family_name和given_name.换句话说,它将匹配出现在单词结尾但不出现在开头或中间的关键字.

示例: 现有记录包含:family_name =>"Washington"和:given_name =>"George"

搜索"ington"或"rge"将检索此记录.搜索"Wash"或"Geo"不会.

我是一个新用户,对于rails来说我是个新手.在此先感谢您的帮助.


相关主题: 1 2

这是我正在使用的修复程序:

:conditions => ['LOWER(family_name) LIKE ? OR LOWER(given_name) LIKE ?', "%#{params[:search].downcase}%", "%#{params[:search].downcase}%"]
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails wildcard

6
推荐指数
1
解决办法
4132
查看次数

不具有区分大小写的搜索活动记录

我使用rails 3.0.4

这是我的rails应用程序中的一段Arel查询,如何使用upcase方法以数据库无关的方式进行无区分大小写的搜索?

Customer.where("company_id = ? and (firstname like ? or lastname like ? or reference like ?)", current_user.company_id, "%#{params[:query]}%", "%#{params[:query]}%", "%#{params[:query]}%")
Run Code Online (Sandbox Code Playgroud)

谢谢

activerecord ruby-on-rails arel

6
推荐指数
1
解决办法
5497
查看次数

Rails控制器中的索引操作问题

可能是一个愚蠢的问题,所以我提前为此道歉:

我有一个Item Controller索引动作我用来显示所有items(duh).现在,我想过滤显示的项目(这里只是标题中有"鞋子"的项目).

不幸的是,我无法在索引操作下定义@item = Item.find(params [:id])语句.

我在ItemsController #index中得到了可怕的ActiveRecord :: RecordNotFound ----找不到没有ID错误的Item.

有任何想法吗?

物品控制器

def index
     @item = Item.find(params[:id])
     @items = Item.where(@item.title =~ /shoes/i).paginate(:page => params[:page], :per_page => 30)

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @items }
    end
  end
Run Code Online (Sandbox Code Playgroud)

ruby controller ruby-on-rails

0
推荐指数
1
解决办法
254
查看次数