我的应用中有两个型号,用户和结果。结果属于User。为了创建Result记录,我必须验证用户是否存在。
如果用户存在,我想在相应的用户帐户中创建结果记录。否则,我想创建一个新用户,然后创建属于他的结果记录。
结果数据来自XML文档,并且有一个电子邮件节点,我可以将其用作标识符来创建记录。
我认为解决方案是将User表中的email属性与XML中的Result email节点进行比较。
如何构建一个块来比较User.email和Result.email?
e.g:
if user.email == result.email
# create record on table result
else
# create user and create record on table result
end
答案 0 :(得分:1)
Result.all.each do |result|
user = User.where(:email => result.email).first_or_create
result.update_column(:user_id => user.id)
end