当关联存在或不存在时,验证DataMapper中是否存在2个字段

时间:2013-01-02 05:19:41

标签: ruby datamapper ruby-datamapper

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

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

现在我有这个,但我被困了

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

1 个答案:

答案 0 :(得分:0)

试试:if => proc { |user| user.accounts.empty? }。请记住,只有零和假是红宝石中的假值。在irb中尝试!!0,结果为true。 u.accounts.length总是如此。 (也是零长度)。