所以我有一個驗證邀請代碼Rails 4應用程序與設計。要用設計創建一個賬戶,用戶必須輸入驗證碼。它看起來像這樣:Rails downcase params的包含驗證?
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
,但沒有運氣。我怎樣才能在領域驗證之前降低領域?
小心 '' .downcase!返回零,這可能是意想不到的! –
@HieuPham你絕對是對的!感謝您指出這一點,我編輯了答案。 – taglia