昨日こんな記事が話題になっていました。
ああ、ちょうどまさにこういうルーティングのWebサービスを作っているところだったりすので、とても参考になる情報。ということでサクッとRailsのValidatorにしてみました。元記事のコメントに書かれていたものと、自分で思いついたものも追加してあります。ついでに複数形にも対応してます。
これをapp/validators/ban_reserved_validator.rbに配置。
Model側ではこんな感じで定義すれば予約語を禁止できる。
class User < ActiveRecord::Base validates :name, ban_reserved: true end
やや力技感がありますが、ユーザー登録時にしか走らない処理なので、こんな感じのハードコーディングでも十分かと。