0

私はモデルを持っています, nを持つユーザー, :accounts

そのインスタンスに関連付けられたアカウントがない場合、 User モデルに 2 つの列 (email と passwd) が存在することを検証したいと考えています。Facebookにサインアップするユーザーは、電子メールとパスワードを使用する必要がないという考えです。

今、私はこれを持っていますが、私は立ち往生しています

validates_presence_of :email, :passwd, :if => lambda { |u| u.accounts.length  }
4

1 に答える 1

0

試してみてください:if => proc { |user| user.accounts.empty? }。ルビーでは、nilとfalseだけが偽の値であることを忘れないでください。!!0irbで試してみてください。結果はtrueになります。u.accounts.length常に真実です。(長さもゼロ)。

于 2013-01-02T12:01:10.997 に答える