Create/Updateアクションでallow_blankやpresenceの可否を分けたい。
要件 | |
---|---|
User#Create | useridカラムの「空欄を許す」 |
User#{useridのみ決めるAction} | useridカラムの「空欄許さない」 |
user.rb(model)
VALID_USERID_REGEX = /\A[a-z0-9]+\z/ validates :userid ,length:{ in: 4..20 } ,format:{with:VALID_USERID_REGEX} ,uniqueness: { case_sensitive: false }
したいことは、サービスの新規登録の流れ。
Twitter
等でもおそらく
流れ | 内容 |
---|---|
(1) | 新規登録 |
(2) | メール認証 → 認証後 |
(3) | 一意のユーザIDを決める(※何かしらのアクションで) |
(4) | twitter.com/{決めたID}が利用可能に |
上記の流れがあると思うのですが、それと同じことをしたいと考えてます。
user.rbのuserid
に
presence:true
とバリデーション表記すると、(1)でバリデーションが引っかかる気がします。
allow_blank:true
にすると、userid決定時に、(3)空欄でもフォームを通る気がします。
どのような実装方法が良いでしょうか。ご教授いただける方、致したらよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。