0

私はvalidates_presence_of :email自分のUserモデルを持っています。私のユーザーモデルにはmember、ユーザーがメンバーであるか通常のユーザーであるかを判断するためのブール列もあります。

通常のユーザーは、電子メールなしでサインアップできます。ただし、メンバー アカウントに登録するときは、電子メールを提供する必要があります。

:email問題は、ユーザーが通常のユーザーとしてサインアップすると、空白であることを示す検証がトリガーされることです。どうすればいいですか?

検証に名前付きスコープもあれば素晴らしいでしょう。

4

2 に答える 2

1

メンバーサインアップフォームが呼び出すアクションでuser.member=trueを明示的に設定すると、JacobMの回答が機能します。

validates_presence_of :email, :if => :member
于 2012-05-14T22:13:21.647 に答える