Friendly_id 5 slug_candidates, как использовать последовательную нумерацию

В новой версии friendly_id используется метод slug_candidates для создания слаговых значений, добавляющих uuid, если найден дубликат. Как использовать это, чтобы получить старую функциональность? то есть совпадающие записи будут добавлены с 1,2,3 и т. д.

  def slug_candidates
    [
      :title,
      [:title, 'code that creates a sequential number']
    ]
  end

person raphael_turtle    schedule 20.06.2014    source источник


Ответы (1)


Как насчет добавления метода вроде

def duplicates_count
  Model.where(title: self.title).count + 1 # Model is whatever the model is
end

и метод slug_candidates станет

def slug_candidates
  [
    :title,
    [:title, :duplicates_count]
  ]
end

Будет ли что-то подобное работать для вас? Надеюсь, это поможет!

person strivedi183    schedule 23.06.2014
comment
Это не будет учитывать имена с заголовками в верхнем и нижнем регистре. - person Aaron Davis; 08.11.2014