Я создаю сайт для кино с использованием Ruby on Rails и добавляю в систему обзора. Я хочу, чтобы запретить пользователям ругань в своих обзорах и испробованы следующие драгоценные камни, чтобы сделать это:Ruby on Rails Stop Profanity
validates_decency_of
NoNo
Fu-Fu
Единственное, что приблизилось использует исключение:
validates :review_text, :exclusion => { :in => %w(shit fuck fucking twat bitch), :message => "you must not enter swear words"}
Но проблема с этим заключается в том, что он будет работать только против отзывов, содержащих только эти слова, например если вы наберете «дерьмовую пленку», это позволит это, но это не позволит одно слово «дерьмо».
Может кто-то помочь.
review.rb:
class Review < ActiveRecord::Base
belongs_to :user
belongs_to :film
validates :review_text, :presence => { :message => "Please enter a review"}
validates :review_text, :length => {:maximum => 2000, :message => "The review must not exceed 2000 characters"}
validates :review_text, length: { maximum: 2000 }
end
Очень информативное сообщение об ошибке :-D –
Это не работает, это позволит только одной работе в вашем «списке запрещенных слов» –
Правильно, вам нужно настроить это сообщение проверки в соответствии с вашими потребностями. – Matt