使用CanCanCan可以区分大小写吗?

时间:2019-05-15 20:10:40

标签: postgresql ruby-on-rails-5 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的查找不区分大小写?

还是这需要在数据库级别完成?

1 个答案:

答案 0 :(得分:1)

我会使用citext,这是PostgreSQL中不区分大小写的文本类型。

它存在于扩展程序中,因此您将首先创建它:

CREATE EXTENSION citext;
ALTER TABLE promotions ALTER code TYPE citext;