如何在 FriendlyId 中的重复列 slug 上引发错误?

How to raise an error on duplicate column slug in FriendlyId?

我使用 friendly_id gem,如果我的 slug 列有重复值,gem 通过添加唯一键更新它。我想引发错误 already been taken。我该怎么做?

似乎 friendly_id(v5.2.4) 没有选项来避免在发生 slug 冲突时设置 UUID。所以解决这个问题的最好方法是重新定义 method responsible for resolving the conflict 并引发异常。

class Post < ApplicationRecord
  extend FriendlyId
  friendly_id :title, use: :slugged

  def resolve_friendly_id_conflict(candidates)
    raise ActiveRecord::RecordNotUnique
  end
end