validates_exclusion_of用于路径中使用的用户名

时间:2011-08-05 00:29:38

标签: ruby-on-rails ruby-on-rails-3 validation

我试图阻止用户名具有特定字符,以便它们可以在路径中使用。基本上我想使用诸如www.mysite.com/profiles/username之类的路径,并允许诸如user.name或user / name之类的东西会导致错误。我最初想到使用validates_exclusion_of,但我不确定这是否允许排除字符而不是整个单词。我也想知道白名单而不是黑名单是否更好。例如,我可以将0..9和A..Z。

列入白名单

有没有人知道任何“标准”或最佳做法?

1 个答案:

答案 0 :(得分:1)

标准和最佳方法是使用friendly_id。但是,如果您不想增加项目的依赖关系,并且只想允许字母数字:

validates :user_name, 
          :format => {:with => /^\w+$}, 
          :presence => true, 
          :uniqueness => true