Я хочу внедрить friendly_id
в существующую модель. Приложение использует гем russian
, который хорошо обрабатывает новые или сохраненные вручную записи, но, похоже, он не работает, когда я обновляю записи из командной строки.
User.find_each(&:save)
(как указано в документации friendly_id) генерируют слаги, такие как --<id>
.
Я использовал пользовательский метод нормализации для предоставления транслитерированного слизняка:
def normalize_friendly_id(input)
Russian.transliterate input.to_s.mb_chars.downcase
end
но он определенно может пропустить некоторые крайние случаи и обрабатывает строку иначе, чем «обычный» рабочий процесс. Я ищу способ повторного использования обычного потока создания/обновления и собственного поведения.