跟踪保留的URL(以启用每个用户的虚荣URL)

Tom*_*man 7 ruby-on-rails

在我的说唱歌词解释网站上,每个用户都有一个关联的"收藏夹"页面http://rapgenius.com/USERNAME

因为这些收藏页面占据了根命名空间,所以我必须确保没有人使用我已经用于其他内容的用户名.例如:

  • /songs
  • /lyrics
  • /users
  • /posts

如何在用户创建时查找优先级高于/username路径(位于底部routes.rb)的所有顶级路径,以便阻止用户使用这些保留名称?

Joh*_*ley 2

为什么不让事情变得更容易,只需这样做:

def validate
  reserved = %w(songs lyrics users posts)
  errors.add(:username, 'is not allowed') if reserved.include?(username)
end
Run Code Online (Sandbox Code Playgroud)