我试图阻止用户名具有特定字符,以便它们可以在路径中使用。基本上我想使用诸如www.mysite.com/profiles/username之类的路径,并允许诸如user.name或user / name之类的东西会导致错误。我最初想到使用validates_exclusion_of
,但我不确定这是否允许排除字符而不是整个单词。我也想知道白名单而不是黑名单是否更好。例如,我可以将0..9和A..Z。
有没有人知道任何“标准”或最佳做法?
答案 0 :(得分:1)
标准和最佳方法是使用friendly_id。但是,如果您不想增加项目的依赖关系,并且只想允许字母数字:
validates :user_name,
:format => {:with => /^\w+$},
:presence => true,
:uniqueness => true