我正在使用 Ruby on Rails 创建一个电影院网站,并添加了一个评论系统。我想阻止用户在他们的评论中发誓,并尝试了以下宝石来做到这一点:
validates_decency_of
NoNo
Fu-Fu
唯一接近的是使用排除:
validates :review_text, :exclusion => { :in => %w(shit fuck fucking twat bitch), :message => "you must not enter swear words"}
但这样做的问题是,它只适用于只有这些词的评论,例如,如果你输入“shit film”,它会允许它,但它不会允许单个词“shit”。
有人可以帮忙吗。
评论.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