Я в процессе создания sef url для моего приложения. Я только что столкнулся с ошибкой, когда один из моих объектов содержит следующие символы:
@#!*
Мой желаемый вывод следующий, где все недопустимое за пределами зарезервированного / незарезервированного будет заменено подчеркиванием:
@_!*
Я планировал использовать это регулярное выражение для фильтрации плохих символов:
[^]A-Za-z0-9_.~!*''();:@&=+$,/?#[%-]+
и сделать замену через gsub
'@#!*'.gsub!(/[^]_.~!*''();:@&=+$,/?#[%-]+/, '_')
Но ничего не возвращается вообще. Что здесь происходит?