0

我有一个模型,用户有 n, :accounts

当该实例没有任何关联帐户时,我想验证用户模型中是否存在 2 列(电子邮件和密码)。这个想法是注册 Facebook 的用户不需要使用电子邮件和密码。

现在我有这个,但我卡住了

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

1 回答 1

0

试试:if => proc { |user| user.accounts.empty? }。请记住,只有 nil 和 false 是 ruby​​ 中的虚假值。在irb中尝试!!0,结果为true。u.accounts.length总是正确的。(也具有零长度)。

于 2013-01-02T12:01:10.997 回答