2010-08-17 3 views
2

Я использую пользовательский ввод строки для создания URL, и я только хочу, чтобы URL содержать строчные буквы и дефисыПомощник для удаления незаконных символов?

например example.com/this-is-a-url

В моей модели я добавил до сих пор:

def to_param 
     name.downcase.gsub(" ", "-") 
    end 

Это делает его в нижнем регистре и дефис. Как я могу удалить все незаконные символы, такие как «/» $ £% & и т. Д. Правильное выражение может быть ответом, но есть ли что-то встроенное для этой цели уже в Rails?

Возможно, вместо того, выше, я должен создать проверку, что гарантирует, что «имя» является только пробелы и буквы? есть ли что-то построили в для этой цели?

ответ

7

Вы можете использовать метод ActiveSupport parameterize:

def to_param 
    name.parameterize 
end 
+0

Я удивлен, что это не было в этом вопросе я связан с. +1 для встроенного подхода. –

+0

Обновленная ссылка: http://apidock.com/rails/ActiveSupport/Inflector/parameterize – JellyFishBoy

 Смежные вопросы

  • Нет связанных вопросов^_^