使用 CanCanCan 进行不区分大小写的搜索?
Case insensitive search with CanCanCan?
我正在尝试使用 CanCanCan 进行不区分大小写的搜索。
我正在使用一个名为代码的自定义变量,如下所示:
class PromotionsController < ApplicationController
load_and_authorize_resource find_by: :code, id_param: :code
# GET /api/v1/promotions/:code
def show; end
end
在仍然使用 CanCanCan 查询的同时,是否可以让自动填充 @promotion 的查找不区分大小写?
或者这是否需要在数据库级别完成?
我会使用 citext
,PostgreSQL 中不区分大小写的文本类型。
这存在于一个扩展中,因此您首先要创建它:
CREATE EXTENSION citext;
ALTER TABLE promotions ALTER code TYPE citext;
我正在尝试使用 CanCanCan 进行不区分大小写的搜索。 我正在使用一个名为代码的自定义变量,如下所示:
class PromotionsController < ApplicationController
load_and_authorize_resource find_by: :code, id_param: :code
# GET /api/v1/promotions/:code
def show; end
end
在仍然使用 CanCanCan 查询的同时,是否可以让自动填充 @promotion 的查找不区分大小写?
或者这是否需要在数据库级别完成?
我会使用 citext
,PostgreSQL 中不区分大小写的文本类型。
这存在于一个扩展中,因此您首先要创建它:
CREATE EXTENSION citext;
ALTER TABLE promotions ALTER code TYPE citext;