繁体   English   中英

如何使用ROR比较块中的两个值?

[英]How do I compare two values within a block using ROR?

我的应用程序中有两个模型:用户模型和结果模型。 结果属于用户。 为了创建结果记录,我必须验证用户是否存在。

如果用户存在,我想在相应的用户帐户中创建结果记录。 否则,我想创建一个新用户,然后创建属于他的结果记录。

结果数据来自XML文档,并且有一个电子邮件节点,我可以将其用作标识符来创建记录。

我认为的解决方案是将User表中的email属性与XML中的Result电子邮件节点进行比较。

我如何构建一个块来比较User.email和Result.email?

例如:

if user.email == result.email
  # create record on table result
else
  # create user and create record on table result
end
Result.all.each do |result|
  user = User.where(:email => result.email).first_or_create
  result.update_column(:user_id => user.id)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM