Как вызвать ошибку на дубликате столбца в FriendlyId? - PullRequest
0 голосов
/ 17 декабря 2018

Я использую гем friendly_id, и если в моем столбце слагов есть повторяющееся значение, гем обновит его, добавив уникальный ключ.Я хочу поднять ошибку already been taken.Как я могу это сделать?

1 Ответ

0 голосов
/ 17 декабря 2018

Кажется, что friendly_id (v5.2.4) не имеет возможности избежать установки UUID при возникновении конфликта слагов.Поэтому лучший способ решить эту проблему - переопределить метод , отвечающий за разрешение конфликта , и вызвать исключение.

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

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