【发布时间】:2015-06-05 10:19:24
【问题描述】:
我正在尝试向我的用户模型添加验证。
我想阻止人们注册“Bot”表中存在的邮件。
Bot表结构为:
create_table "bots", force: :cascade do |t|
t.string "banned_domains"
t.datetime "created_at"
t.datetime "updated_at"
end
我正在使用 Devise 进行注册,我想添加一个验证来检查“电子邮件域是否存在于 bot 表中”记录是否无效。
验证的方法是这样的:
def is_a_bot?(user_email)
Bot.where("banned_domains LIKE (?)", "%#{user_email}%").present?
end
如何使用我的用户模型的“电子邮件”属性的这种方法添加验证?
【问题讨论】:
-
您能否提供一些来自
banned_domains字段的示例值? -
例如“stack.ru”
-
那么该字段不应该称为
banned_domain而不是banned_domains吗?复数是混乱的。
标签: ruby-on-rails validation devise