删除非法字符的助手?
Posted
技术标签:
【中文标题】删除非法字符的助手?【英文标题】:Helper for removing illegal characters? 【发布时间】:2011-03-31 02:04:12 【问题描述】:我正在使用用户输入字符串来创建一个 url,我只希望该 url 包含小写字母和连字符
例如example.com/this-is-a-url
在我的模型中,到目前为止我已经添加了:
def to_param
name.downcase.gsub(" ", "-")
end
这使它成为小写和连字符。如何删除所有非法字符,例如 '/"$£%& 等?正则表达式可能是答案,但 Rails 中是否已经为此目的内置了一些东西?
也许我应该创建一个验证来确保“名称”只是空格和字母,而不是执行上述操作?有没有为此目的而内置的东西?
【问题讨论】:
【参考方案1】:您可以使用 ActiveSupport 的parameterize
方法:
def to_param
name.parameterize
end
parameterize
API documentation
【讨论】:
我很惊讶这不在我链接的问题中。 +1 为内置方法。【参考方案2】:您可以为此考虑使用to_slug
插件。另见this related question。
【讨论】:
以上是关于删除非法字符的助手?的主要内容,如果未能解决你的问题,请参考以下文章