【问题标题】: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 中是否已经为此目的内置了一些东西?

也许我应该创建一个验证来确保“名称”只是空格和字母,而不是执行上述操作?有没有为此目的而内置的东西?

【问题讨论】:

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


    【解决方案1】:

    您可以使用 ActiveSupport 的parameterize 方法:

    def to_param
      name.parameterize
    end
    

    【讨论】:

    • 我很惊讶这不在我链接的问题中。 +1 为内置方法。
    【解决方案2】:

    您可以为此考虑使用to_slug 插件。另见this related question

    【讨论】:

      猜你喜欢
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 2012-06-09
      • 1970-01-01
      • 2017-07-02
      • 2015-04-23
      相关资源
      最近更新 更多