У меня есть следующая модель, которая вызывает ошибку, если кто-то пытается использовать фразу в черном списке при создании пули. В качестве кода в настоящее время он позволяет отправить форму, а затем отобразить страницу ошибок рельсов с сообщением об ошибке ниже.Как сделать свое пользовательское сообщение об ошибке препятствовать отправке формы вместо отображения страницы ошибок rails?
Как сделать так, чтобы форма не была отправлена и отображена ошибка/причина невозможности отправки на фактическую страницу формы?
class LandingPage < ActiveRecord::Base
validate :check_for_blacklisted_slug
private
def check_for_blacklisted_slug
blacklist = ['not this', 'or this', 'def not this']
blacklist.each do |phrase|
if self.slug == phrase.parameterize
errors.add(:slug, "This slug is reserved. Please pick another slug.")
end
end
end
end
im confused now, потому что, когда я добавляю 's' в конец, это вызывает ошибку аргумента. «Вам нужно предоставить хотя бы одну проверку» Но код, поскольку он в настоящее время «проверяет», на самом деле запускает метод «черный список», « – Verty00