帮助删除非法字符?

时间:2010-08-17 15:57:02

标签: ruby-on-rails string url illegal-characters

我使用用户输入字符串来创建网址,我只希望网址包含小写字母和连字符

  

e.g。 example.com/this-is-a-url

在我的模型中,到目前为止我添加了:

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

这使它成为小写和连字符。如何删除所有非法字符,例如“/”$£%&等等?正则表达式可能是答案,但Rails中是否已为此目的内置了一些内容?

也许不是上面做的,我应该创建一个验证,确保'name'只是空格和字母?是否有为此目的内置的东西?

2 个答案:

答案 0 :(得分:7)

您可以使用ActiveSupport的parameterize方法:

def to_param
  name.parameterize
end

答案 1 :(得分:1)

您可以考虑使用to_slug插件。另请参阅this related question