Ответ 1
Упс, я на самом деле работал, просто забыл обновить имя переменной: P
Я использовал это:
@id = params[:id]
@title = @id.gsub("_", " ")
Эй, я пишу свое первое приложение Rails, и я пытаюсь заменить символы подчеркивания на имя входящего идентификатора пробелами, например:
до: test_string
после: тестовая строка
Как я могу это сделать? Извините, если это немного глупый вопрос, я не очень хорошо знаком с регулярными выражениями...
Упс, я на самом деле работал, просто забыл обновить имя переменной: P
Я использовал это:
@id = params[:id]
@title = @id.gsub("_", " ")
str.gsub!(/_/, ' ')
gsub
означает "глобальная подстановка", и восклицание означает, что оно изменит сама строку, а не просто вернет замещенную строку.
Вы также можете сделать это без регулярных выражений с помощью String#tr!
:
str.tr!('_', ' ')
На рельсах вы можете использовать упрощенный метод .humanize
и ruby .downcase
, но будьте осторожны так как он также разделяет любую финальную строку "_id" (в большинстве случаев это именно то, что вам нужно, даже заглавную первую букву)
'text_string_id'.humanize.downcase
=> "text string"
Использование split и join в рельсах
"test_string".split('_'). join ('')