【发布时间】:2016-01-19 06:07:51
【问题描述】:
所以我在带有 Devise 的 Rails 4 应用程序中验证了邀请码。要使用设备创建帐户,用户必须输入验证码。它看起来像这样:
class User < ActiveRecord::Base
validates :invite_code, inclusion: {
in: %w(foo347 bar362 foobarr100),
message: "Rails 4 app is invite only at this time, please sign up for a code."
}
它很好用,但我想让它不区分大小写,所以 fOo347 或 BaR362 可以工作。我尝试像这样进行 before_save:
before_save { |user| user.name = user.name.downcase }
按照此处的说明 Simple way to always make a field lowercase in db.
但我认为它不起作用,因为它是一种验证。我还尝试将before_save 换成before_create,但没有成功。如何在字段通过验证之前将其小写?
【问题讨论】:
标签: ruby-on-rails ruby validation activerecord devise