Я создаю приложение, в котором пользователи могут создавать URL-слагы для своего профиля. Чтобы убедиться, что слагы действительны, я добавил проверку в модели User для слагов:
validates :slug, :uniqueness => true, :format => { :with => /[a-z]+/ }, :allow_nil => true, :allow_blank => true
Однако проверка, похоже, прошла независимо от того, в каком формате находится строка слагов, например:
u.slug = 'jlskdf .jc oi/slkdjfie\*asdf&(*&*ss%&'
=> "jlskdf .jc oi/slkdjfie\\*asdf&(*&*ss%&"
u.save
=> true
Видимо, не имеет значения, на что я меняю регулярное выражение, все проходит. Я тоже попробовал этот формат:
validates_format_of :slug, :with => /[a-z]+/
, который дает те же результаты. У кого-нибудь есть идеи о том, что может происходить?