Я пытаюсь создать поведение с постоянными ссылками для некоторых названий статей и не хочу добавлять новое поле БД для постоянной ссылки. Поэтому я решил написать помощника, который преобразует название моей статьи из:
" O "focoasă" а pornit cruciada, împotriva bărbaţilor zgârciţi " в
" о-focoasa-а-pornit-cruciada-impotriva-barbatilor-zgarciti ".
Пока я выяснил, как заменить пробелы дефисами и удалить другие специальные символы (кроме -), используя:
title.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase
Мне интересно, есть ли какой-либо другой способ заменить символ конкретным другим символом только из одного вызова метода .gsub, поэтому мне не придется связывать методы title.gsub ("ă", "a") для всех специальных символов UTF-8 моей локализации.
Я думал о создании хэша со всеми специальными символами и их аналогами, но я еще не понял, как использовать переменные с регулярными выражениями.
Я искал что-то вроде:
title.gsub(/\s/, "-").gsub(*replace character goes here*).gsub(/[^\w-]/, '').downcase
Спасибо!